我想接下來要運行的代碼,我得到無效的錯誤類型對於j循環內:無效類型數組
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();
我檢查的其他問題與類似的標題,但標題不匹配對我來說。錯誤確切的說法是:
invalid types ‘int[int]’ for array subscript
j[i] = j[i] + cos(phi[j]);
j是一個整數。你不能用它作爲數組。你得到一個錯誤,因爲它是錯誤的。 –
看起來你有兩個不同的東西,都命名爲'j' - 一個數組(其代碼中沒有顯示其聲明)和一個循環索引。給他們不同的名字。 –
什麼是'j'聲明爲外環之前?該信息將解釋錯誤消息。 – Peter