Эта проблема является продолжением предыдущей проблемы:
C ++ Возврат и вставка объекта 2D-массива
и настоятельно рекомендуем просмотреть ссылку, чтобы понять следующее.
Я проследил ответ Адама Розенфилда, и он решил первые две проблемы. Однако, последняя проблема еще не решена, что касается первых двух. Я не уверен, заключается ли проблема в том, как я пытаюсь исправить код, или в том, что предпринимается попытка.
Это часть того, что написано в int main ():
int i, j;
Grid myGrid;
Piece myPiece;
//First two lines of Adam's Code
int (*arrayPtr)[4][4] = myPiece.returnPiece();
int cell = (*arrayPtr)[i][j];
//compiler error
myGrid.insertArray(cell); <--- Problem
Я не уверен, что это неверный аргумент или что я пытаюсь что-то сделать неправильно. Вот что я получаю, когда пытался скомпилировать:
In function `int main()'
invalid conversion from `int' to `int(*)[4][4]'
initializing argument 1 of `void Grid::insertArray(int(*)[4][4])'
[Build Error] [grid test.o] Error 1
Я пробовал это:
myGrid.insertArray((*arrayPtr)[4][4]); //Same Error
myGrid.insertArray((*arrayPtr)[i][j]); //Same Error
Я не уверен, в чем проблема, и не уверен, что делать. Я благодарю Адама и других за помощь в решении предыдущих проблем, но кто-нибудь знает, как решить эту последнюю проблему?
"с returnpiece () приниматься в аргументе insertArray ();