еще один вопрос от начального до среднего уровня.Я пытаюсь передать 2-D массив функции в C ++.Я знаю, что массив не может быть отправлен непосредственно в функцию, поэтому я сначала создал указатель (имена отредактированы, но вы поймете, что идея):
double input[a][b] = {{0, 0}, {0, 1}, {1, 0}, {1, 1}};
Class.calculate (*(input), a, b);
Затем я пытаюсь использовать егов указанной функции - но, похоже, я не знаю, как разыменовать указатель, чтобы иметь возможность снова обрабатывать двумерный массив.Мой код (более или менее):
for (int x=0; x<=a; x++){
for (int y=0; y<=b; y++){
tmpInput[x][y]= (*input)[x][y];
}
}
Компилятор жалуется на ошибку, а именно invalid types ‘double[int]’ for array subscript
, но я все еще не могу выяснить проблему.Лучше всего, что я не разыменовал двумерный массив должным образом, но другой вариант заключается в том, что C ++ не может разыменовать двумерные массивы напрямую, вместо этого полагаясь на преобразование массива в 1-D перед отправкой.Есть идеи?