non initialisé la variable locale 'j' utilisé
Ici est une section de code que j'ai. Im obtenir une erreur non initialisé la variable locale 'j' utilise et je ne la voyez pas. aussi loin que je peux dire il est utilisé. Quelqu'un peut s'il vous plaît aider?
float Calculate(Element ElmAry[30], Formula FormAry[30])
{
int i;
int j;
float MoleWT = 0;
float MoleSum = 0;
char e1;
char e2;
char f1;
char f2;
for(i = 0; i < 30; i++) {
f1 = FormAry[j].Element1;
f2 = FormAry[j].ElementA;
e1 = ElmAry[i].eN1;
e2 = ElmAry[i].eN1;
if(e1 == f1 && e2 == f2) {
MoleWT = ElmAry[i].Weight * FormAry[j].Atom;
MoleSum = MoleSum + MoleWT;
j++;
}
}
return MoleSum;
}
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas donné
j
une valeur, d'où leuninitialized variable
erreur.int j;
n'est pas le même que l'affectation d'j
une valeur de 0.Que vous devez faire:
int j = 0;
Si vous utilisez la variable
j
le premier dans la ligneMais vous n'avez pas affecté de la valeur à
j
auparavant, donc "non initialisé". La précédente mention dej
était dans votre déclaration:Vous devez lui affecter une valeur, comme 0:
Qui est de les appeler "initialisation", parce que si vous ne donnez pas toute valeur à une variable, quelle est la valeur que vous attendez de cette variable?
L'erreur n'est pas que
j
est utilisé. L'erreur est quej
est utilisé mais il n'est pas en cours d'initialisation.Je suggère de changer votre
for
boucle:Que je pense que c'est probablement ce que vous êtes en train d'essayer de faire...