Я пытаюсь вернуть массив Data Member из одного меньшего 2D-объекта Array и пытаюсь вставить массив в более крупный 2D-объект массива. Но, пытаясь это сделать, я столкнулся с двумя проблемами.
Первая проблема заключается в том, что я хочу вернуть имя 2D-массива, но я не знаю, как правильно использовать синтаксис для возврата имени 2D-массива.
Вот так выглядит мой элемент данных 2D Array
private:
int pieceArray[4][4];
// 2D Smaller Array
и я хочу вернуть этот массив в функцию, но эта вызывает ошибку компилятора:
int Piece::returnPiece()
{
return pieceArray; //not vaild
// return the 2D array name
}
Я устал использовать этот тип возврата, и он работал:
int Piece::returnPiece()
{
return pieceArray[4][4];
}
Но я не уверен, что это то, что я хочу, так как я хочу вернуть массив и все его содержимое.
Другая проблема - это функция InsertArray (), где я бы поместил функцию returnPiece () в аргумент InsertArray ().
Проблема с InsertArray () заключается в аргументе, вот код для него:
void Grid::InsertArray( int arr[4][4] ) //Compiler accepts, but does not work
{
for(int i = 0; i < x_ROWS ; ++i)
{
for (int j = 0; j < y_COLUMNS ; ++j)
{
squares[i][j] = arr[i][j];
}
}
}
Проблема в том, что он не принимает мой returnPiece (), и если я удаляю «[4] [4]», мой компилятор не принимает.
В основном все это синтаксические ошибки, но как мне решить эти проблемы?
- Возвращение целого массива piece в returnPiece ()
- Правильный синтаксис для аргумента в InsertArray ()
- Аргумент InsertArray (), принимающий returnPiece ()
Эти 3 являются основными проблемами, с которыми мне нужна помощь, и имели ту же проблему, когда я пытался использовать метод указателя указателя. Кто-нибудь знает, как решить эти 3 проблемы?