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

时间:2009-12-08 00:35:52

标签: c++ gcc warnings

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

StatsScreen::StatsScreen( GameState::State level )
    : m_Level( level ) {
  ...//
}

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

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

有关此警告的任何信息?

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

1 个答案:

答案 0 :(得分:12)

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

StatsScreen ss{...}; // only available in C++0x
StatsScreen ss(...); // OK in C++98

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

g++ test.cpp -std=c++0x