【发布时间】:2013-02-28 06:18:39
【问题描述】:
我有一个填充二维数组的循环,我想将这个填充创建的值传递到一个函数中以使用它进行其他计算。我是 C++ 的初学者,所以清晰的解释会很有帮助。这是我的代码:
for (int car = 1; car <= 27; car++) {
int test[27][3] = {{car, mpg[car], speed[car]}};
float speed = speed[car];
timeGen(speed);
cout << car << "\t" << mpg[car] << "\t" << speed[car] << endl;
}
这是timeGen 函数:
float timeGen(float x)
{
int distance = 50;
float speed = x;
float time = distance/x;
return time;
}
似乎一切都会正常工作,但发生的情况是我收到一条错误消息,提示“下标需要数组或指针类型”。我对他们的意思有点困惑。它是在告诉我创建一个指向该索引的指针,然后在timeGen 函数中调用该指针吗?一个解释会很棒!
非常感谢。此外,值mpg、speed 取自我的代码的另一部分,它工作正常。关于如何解决我现在遇到的问题的说明,会很棒!
【问题讨论】:
-
不相关但严重的错误:数组从零开始。
-
如何定义
speed[car]中的speed? -
您应该为
floatspeed和速度数组使用不同的名称。事实上,float speed会影响阵列速度。
标签: c++ arrays pointers multidimensional-array