2011-10-22 70 views
0
#define MAX 100 
double velocity[MAX]; 
for (itr = 0; itr < velocity[0]; itr = itr + 1) 
    { 
     velocity[itr] = velocity[0] - (1*itr); 
     distance[itr] = rk4_solve(itr, velocity); 
     cout << setw(5) << itr << setw(9) << velocity[itr] << setprecision(4) << setw(10) << distance[itr] << endl; 
    } 

我试图将值输入数组,但由于某种原因,我得到的错误:我无效的类型“双[100] [双]” for循环中的3行的数组下标。无效类型“双[100] [双]”数组下标

回答

1

itr必须是int(或其他整型)

要知道,你与velocity[0]在对周期(itr < velocity[0];)比较itr。你可能意思是itr < MAX,我希望在某处你定义了变量itr

+1

我同意这个答案,并希望指出,如果不是这样,那么'velocity [0]'是未定义的,所以任何事情都可能在运行时发生。 – Gorpik

+1

@Gorpik +1考虑到他剪掉了各种代码行,我不确定任何事情:-) – xanatos

0

在黑暗中拍摄的全部照片,但是你能否在上面显示的行上错过一个分号?

0

刚刚有类似的问题。

数组索引不能是双精度或浮点数。

我通过将索引的类型转换为int来解决了我的问题。