2012-04-15 18 views
0

ポインタオブジェクトの2D配列をインスタンス化する方法を理解するのに苦労しています。ここで私はそれをやっている方法です:私は、実際のオブジェクトポインタに設定したい場合はポインタオブジェクトの2D配列を宣言する

Pieces* chessBoard[9][9]; 

、私は次のことをやっている:

chessBoard[1][1] = new Rook(p1Rook); 

ルークから属性を継承するクラスでありますPiecesクラスとp1Rookは 'R'に設定されたchar変数です。このクラスは、move()やgetPiece()などの特定のチェスピースに固有のPiecesからの仮想関数(純粋仮想ではない)も実装します。私は私のプログラムをコンパイルするときしかし、私は次のエラーを取得する:

ChessBoard.cpp:69: error: expected type-specifier before ‘Rook’ 
ChessBoard.cpp:69: error: cannot convert ‘int*’ to ‘Pieces*’ in assignment 

誰かが、私はこのかなり迷惑な永続的なエラーを取り除くために変更すべきかを説明していただけますか?私はそれをお願い申し上げます。

答えて

1

コンパイラエラーは、コンパイラがRookが何であるかを知らず、Piecesから派生していることを知らないことを示します。不足しているのは#includeのようです。

+0

そうです。ダビデの助けてくれてありがとう。 –