Kol*_*nya 9 c++ static struct initialization const
我正在尝试向我的类添加一个静态常量变量,这是一个结构的实例.由于它是静态的,我必须在类声明中初始化它.试试这段代码
class Game {
    public:
        static const struct timespec UPDATE_TIMEOUT = { 10 , 10 };
    ...
};
得到此错误:
错误:在'{'标记之前,不允许使用括号括起的初始值设定项
错误:非整数类型'const timespec'的静态数据成员的类内初始化无效
我该如何初始化它?谢谢!
Ada*_*eld 20
在类外部的单独定义中,在源文件中初始化它:
// Header file
class Game {
    public:
        // Declaration:
        static const struct timespec UPDATE_TIMEOUT;
    ...
};
// Source file
const struct timespec Game::UPDATE_TIMEOUT = { 10 , 10 };  // Definition
如果在头文件中包含定义,如果该头包含在多个源文件中,则可能会出现关于多重定义符号的链接器错误.