1 つの小さい 2D 配列オブジェクトから配列データ メンバーを返そうとしていて、その配列をより大きな 2D 配列オブジェクトに挿入しようとしています。しかし、これを試みたとき、私は2つの問題に遭遇しました。
最初の問題は、2D 配列の名前を返したいのですが、2D 配列名を返すための適切な構文がわかりません。
これは、私の 2D 配列データ メンバーがどのように見えるかです
プライベート: int pieceArray[4][4]; // 2D の小さい配列
この配列を関数に返したいのですが、これはコンパイラエラーを引き起こします:
int ピース::returnPiece() { pieceArray を返します。//無効 // 2D 配列名を返す }
この戻り値の型を使用するのに疲れましたが、うまくいきました:
int ピース::returnPiece() { pieceArray[4][4] を返します。 }
しかし、配列とそのすべてのコンテンツを返したいので、これが私が望むものかどうかはわかりません。
もう 1 つの問題は、InsertArray() 関数です。ここで、returnPiece() 関数を InsertArray() の引数に入れます。
InsertArray() の問題は引数です。そのコードは次のとおりです。
void Grid::InsertArray( int arr[4][4] ) //コンパイラは受け入れますが、動作しません { 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() で pieceArray 全体を返す
- InsertArray() の引数の正しい構文
- returnPiece() を受け入れる InsertArray() の引数
これら 3 つは私が助けを必要とする主要な問題であり、ポインター ポインター メソッドを使用しようとしたときに同じ問題が発生しました。この3つの問題を解決する方法を知っている人はいますか?