类方法不会隐式采用pirvate对象

时间:2017-02-21 00:00:55

标签: c++

我遇到了一些问题,当我因为某种原因正在进行我的练习时遇到以下错误:“'_board'未在此范围内声明” 据我所知,一个类应该将其中的对象作为隐式参数,为什么会发生这种情况呢?

enum turn{cross,circle};
class tictactoe_game
{
    public:
    void initialize_board();
    void make_move(int x,int y);
    bool game_won();

    private:
    char _board[3][3];
    turn _player=cross;
    void _display_board();
};

void _display_board()
{
    for(int x=0;x<3;x++)
    {
        for(int y=0;y<3;y++)
        {
            cout << "|" <<_board[x][y] << "|";
            //error occurred here and every method that tries to access
            //the class members
        }
        cout << endl;
    }
}

1 个答案:

答案 0 :(得分:1)

目前,_display_board()实施与class tictactoe_game无关。您需要指定其范围:

void tictactoe_game::_display_board() { ... }