GCC编译器警告:扩展初始化程序列表仅适用于c ++ 0x

Ano*_*ous 3 c++ gcc warnings

使用此成员初​​始化...

StatsScreen::StatsScreen( GameState::State level )
    : m_Level( level ) {
  ...//
}
Run Code Online (Sandbox Code Playgroud)

我收到以下警告......

extended initializer lists only available with -std=c++0x or -std=gnu++0x

有关此警告的任何信息?

编辑:在我删除了一个分配给构造函数内部的值的成员之后警告消失了(无法通过成员初始化完成)并使其成为局部变量而不是类成员.仍然想知道警告意味着什么.

Ara*_*raK 12

我认为您正在初始化对象{...}而不是(...):

StatsScreen ss{...}; // only available in C++0x
StatsScreen ss(...); // OK in C++98
Run Code Online (Sandbox Code Playgroud)

要将代码编译为C++ 0x代码,只需在编译时添加以下标志:

g++ test.cpp -std=c++0x
Run Code Online (Sandbox Code Playgroud)