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

Pieces* chessBoard[9][9];


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

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


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

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


有人可以解释一下我应该做些什么,以消除这个相当烦人的持续错误吗?我会很感激。

最佳答案

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

关于c++ - 声明指针对象的2D数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10159780/

10-10 00:57