使用这个成员初始化...
StatsScreen::StatsScreen( GameState::State level )
: m_Level( level ) {
...//
}
我收到以下警告...
扩展的初始化列表仅适用于 -std=c++0x 或 -std=gnu++0x
有关此警告的任何信息?
编辑:在我删除了一个在构造函数中分配给值的成员(无法通过成员初始化完成)并使其成为局部变量而不是类成员后,警告消失了。不过,仍然想知道警告的含义。
最佳答案
我认为您正在使用 {...}
而不是 (...)
初始化对象:
StatsScreen ss{...}; // only available in C++0x
StatsScreen ss(...); // OK in C++98
要将您的代码编译为 C++0x 代码,只需在编译时添加以下标志:
g++ test.cpp -std=c++0x
关于c++ - GCC 编译器警告 : extended initializer lists only available with c++0x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1863827/