Indice de la valeur n'est pas un tableau de pointeur ou un vecteur, C++
Donc, j'obtiens l'erreur ci-dessus (dans le titre), mais pour une raison quelconque, il est seulement de jeter cette erreur sur la deuxième boucle. Avis de la première et de la deuxième boucle, j'ai l'aide de la clientèle variable fonctionne très bien, aucune erreur n'est levée ou quoi que ce soit. Mais sur la dernière boucle, la sortie[client][charge] tableau, il y a une ligne rouge en vertu de sortie[client] qui dit "Indice de la valeur n'est pas un tableau de pointeur ou vecteur". J'utilise xcode, Mavericks OSX. Tous mes tableaux sont définis ailleurs, et ont parfaitement fonctionné toute la durée du programme jusqu'à maintenant. Il y a quelques autres opérations en cours dans le programme, mais ils n'ont rien à voir avec cette boucle, donc je viens de poster le code qui donne l'erreur. Encore une fois je vais dire, les frais de[client][mois][charge] boucle fonctionne bien, mais la sortie de[client][sortie] ne fonctionne pas.
P. S. Vous n'aurez probablement pense que la logique derrière le garder toutes ces données dans les tableaux indexés numériquement est idiot, mais c'est pour un projet scolaire. Donc, ne pas parler de moi sur la façon dont ce programme est logiquement incompatible ou quoi que ce soit. Merci!
string headings[3][7];
string chargeLabels[3] = {"Electricity :","Water: ","Gas: "};
string outputLabels[5] = {"Subtotal: ","Discount: ","Subtotal: ","Tax: ","Total: "};
double charges[3][3][3];
double output[3][5];
for(int customer=0; customer<3; customer++)
{
for(int heading=0; heading<5; heading++)
{
cout << headings[customer][heading];
}
for(int month=0; month<3; month++)
{
cout << chargeLabels[month];
for(int charge=0; charge<3; charge++)
{
cout << charges[customer][month][charge] << ", ";
}
cout << endl;
}
for(int output=0; output<5; output++)
{
cout << outputLabels[output];
//error is below this comment
cout << output[customer][output] << endl;
}
}
Vous devez vous connecter pour publier un commentaire.
À l'intérieur de la
for
déclaration:Vous avez déclaré une variable
int output
qui masque ladouble output[3][5]
avec le même nom en dehors de lafor
déclaration.Est là votre problème:
Vous êtes à la réutilisation
output
comme un nom de variable à deux reprises.Ainsi, lorsque vous essayez d'y accéder ici:
Vous avez accès au local
output
, qui est juste un int.