声明指针对象的2D数组

时间:2012-04-15 05:26:26

标签: c++ pointers multidimensional-array

我很难搞清楚如何实例化指针对象的2D数组。我正是这样做的:

Pieces* chessBoard[9][9];

当我想将它设置为实际的对象指针时,我正在执行以下操作:

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

Rook是一个继承Pieces类属性的类,p1Rook是一个设置为'R'的char变量。此类还实现了Pieces中的虚函数(非纯虚函数),例如move()或getPiece(),这些函数对于特定的棋子是唯一的。但是,当我编译我的程序时,我收到以下错误:

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

有人可以解释我应该改变什么来摆脱这个相当恼人的持久性错误?我很感激。

1 个答案:

答案 0 :(得分:1)

编译器错误表明编译器不知道Rook是什么,并且不知道它是从Pieces派生的。它看起来像缺少#include