Эта проблема является продолжением предыдущей проблемы:
C++ Возврат и вставка объекта двумерного массива
и настоятельно рекомендуется просмотреть ссылку, чтобы понять следующее.
Я следил за ответом Адама Розенфилда, и он решил первые две проблемы. Однако еще не решена последняя проблема, которая сильно связана с первыми двумя. Я не уверен, проблема в том, как я пытаюсь исправить код, или проблема в том, что делается.
Это часть того, что написано в 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();