Я пытаюсь вернуть элемент данных массива из одного меньшего объекта 2D-массива и пытаюсь вставить массив в более крупный объект 2D-массива. Но пытаясь это сделать, я столкнулся с двумя проблемами.
Первая проблема заключается в том, что я хочу вернуть имя 2D-массива, но я не знаю, как правильно использовать синтаксис для возврата имени 2D-массива.
Так выглядит мой элемент данных 2D-массива
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]», мой компилятор не примет.
В основном все это синтаксические ошибки, но как мне решить эти проблемы?
- Возврат целого массива в returnPiece ()
- Правильный синтаксис аргумента в InsertArray ()
- Аргумент InsertArray (), принимающий returnPiece ()
Это 3 основные проблемы, с которыми мне нужна помощь, и у меня возникла та же проблема, когда я пытаюсь использовать метод указателя указателя. Кто-нибудь знает, как решить эти 3 проблемы?