构造函数问题

时间:2012-09-12 02:56:21

标签: c++

目前我有一个带有构造函数的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

1 个答案:

答案 0 :(得分:2)

#ifndef tttBoard
#define tttBoard

class tttBoard {

这不是一个合适的包括后卫。您将tttBoard定义为空符号,然后为该类使用相同的名称。

#ifndef TTT_BOARD_H
#define TTT_BOARD_H

class tttBoard { 
    // stuff
};

#endif