编译时出错

时间:2011-08-01 02:04:59

标签: c++ compiler-construction

当我编译“main.cpp:在构造函数中'TicTacToe :: TicTacToe()'时,我收到此错误: main.cpp:38:error:用作初始化程序的数组 “任何线索?谢谢。

class chicken {
public:
    chicken() : board("123456789") {};



private:
    char board[10];
    char player; // Switch after each move.
};

2 个答案:

答案 0 :(得分:2)

您无法像这样初始化数组。而是使用 strcpy

TicTacToe() {
      strcpy(board,"123456789") 
}

或者使用std :: string来使用构造函数初始化器。

class TicTacToe {
public:
    TicTacToe() : board("123456789") // Ok
    {};

private:
    std::string board ; // Changed to string type. There is no good reason to use 
                        // character array when string type is available.
};

答案 1 :(得分:0)

“123456789”有10个字符,因为最后有一个NULL。