在下面的代码中,我收到此编译器错误error C2236: unexpected 'class' 'Pawn'. Did you forget a ';'?
,但是正如您可以清楚地看到的那样,我没有缺少分号...是吗?我曾经认为这是由于循环依赖性而引起的问题,但是我删除了向量旁边的所有include。该类也应该从我的Piece
类继承,但是即使删除了该类,我仍然会收到错误消息。
#ifndef CHESS_PAWN_H
#define CHESS_PAWN_H
#include <vector>
class Pawn {
private:
bool _hasMoved;
public:
Pawn(int x, int y);
~Pawn();
std::vector<int> availMoves();
};
#endif
关于我在这里做错的任何建议吗?
最佳答案
推断,您的Chess.cpp文件可能如下所示:
#include "piece.h"
#include "pawn.h"
//etc..
缺少的分号位于piece.h中。标准预处理器损失。