この問題は、前の問題の続きです。
以下の内容を理解するために、リンクを表示することを強くお勧めします。
Adam Rosenfield の回答をたどり、最初の 2 つの問題を解決しました。しかし、最初の 2 つの高さに関係する最後の問題はまだ解決されていません。問題がコードを正そうとする方法にあるのか、それとも試みていることに問題があるのか どうかはわかりません。
これは 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
議論が間違っているのか、それとも私が試みていることが間違っているのか、私にはわかりません。これは、コンパイルしようとしたときに受け取るものです。
関数「int main()」内 「int」から「int(*)[4][4]」への無効な変換 「void Grid::insertArray(int(*)[4][4])」の引数 1 を初期化しています [ビルド エラー] [グリッド test.o] エラー 1
私はこれらを試しました:
myGrid.insertArray((*arrayPtr)[4][4]); //同じエラー myGrid.insertArray((*arrayPtr)[i][j]); //同じエラー
何が問題なのかわからず、何をすべきかわかりません。前の問題を手伝ってくれたアダムと他の人に感謝しますが、この最後の問題を解決する方法を知っている人はいますか?
"returnpiece() を insertArray() の引数に受け入れさせる。