У меня есть цикл, который заполняет 2D-массив, и я хочу передать значения, созданные этой совокупностью, в функцию для выполнения других вычислений. Я новичок на 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
взяты из другой части моего кода, которая отлично работает. Инструкции о том, как исправить проблему, которую я имею сейчас, были бы замечательными!
Несвязанная, но серьезная ошибка: массивы основаны на нуле. – 2013-02-28 06:20:43
Как вы определяете 'скорость' в' speed [car] '? – perreal
Вы должны использовать другое имя для 'float'' speed' и для массива скорости. Как бы то ни было, 'float speed 'изменяет скорость массива. – Mankarse