目前我有一个带有构造函数的tic tac toe board“tttBoard”
tttBoard::tttBoard() {
isX = true;
for (int x = 0; x < 3; ++x) {
for (int y = 0; y < 3; ++y) {
gBoard[x][y]=sEmp;
}
}
}
应该创建一个新的电路板并用枚举sEmp
填充它。 isX
是一个布尔值,表示第一个玩家先移动。尽管#include "tttBoard.h"
和(我相信)在该头文件中有构造函数(如下所示),但我一遍又一遍地遇到相同的错误:
error C2589: '(' : illegal token on right side of '::'
error C2059: syntax error : '::'
error C2334: unexpected token(s) preceding '{'; skipping apparent function body
tttBoard.h
#ifndef tttBoard
#define tttBoard
class tttBoard {
public:
tttBoard();
void Draw();
void Move(int x, int y);
char* getValue(int x, int y);
private:
enum sVal {
sEmp,
sX,
sO
};
sVal gBoard[3][3];
bool isX;
}
#endif
答案 0 :(得分:2)
#ifndef tttBoard
#define tttBoard
class tttBoard {
这不是一个合适的包括后卫。您将tttBoard
定义为空符号,然后为该类使用相同的名称。
#ifndef TTT_BOARD_H
#define TTT_BOARD_H
class tttBoard {
// stuff
};
#endif