Je suis en train d'exécuter le code suivant et je reçois l'erreur de type non valide pour j dans la boucle:types non valides pour tableau
for(int i = 0; i < N; i++) //steps
{
j[i]=0;
for (int j = 0; j < Particles; j++) //Particles
{
u = randnum(0,1);
dr = pow(pow(a, 1-alph) + u * (1-alph)/B, 1/(1-alph));
phi[j] = randnum(0,M_PIl);
pre_x = x [j];
pre_y = y [j];
x[j] = pre_x + cos(phi[j]) * dr;
y[j] = pre_y + sin(phi[j]) * dr;
while((sin(A * x[j]) + Delta * sin(C * x[j])/2) * h + H < y[j])
{
u = randnum(0,1);
dr = pow(pow(a, 1-alph) + u * (1-alph)/B, 1/(1-alph));
phi[j] = randnum(0,M_PIl);
x[j] = pre_x + cos(phi[j]) * dr;
y[j] = pre_y + sin(phi[j]) * dr;
}
j[i] = j[i] + cos(phi[j]);
}
myfile<<j[i]<<endl; //Outputs array to txtFile
}
myfile.close();
J'ai vérifié d'autres questions avec le titre similaire, mais le titre ne correspond pas à à mon cas. déclaration exacte d'erreur est:
invalid types ‘int[int]’ for array subscript
j[i] = j[i] + cos(phi[j]);
j est un int. vous ne pouvez pas l'utiliser comme tableau. Vous obtenez une erreur parce que c'est faux. –
Il semble que vous ayez deux choses différentes à la fois nommées 'j' - un tableau (dont la déclaration ne figure pas dans votre code) et un index de boucle. Donnez-leur des noms différents. –
Que déclare 'j' AVANT la boucle externe? Cette information expliquera le message d'erreur. – Peter