c++ - GCC 编译器警告 : extended initializer lists only available with c++0x

标签 c++ gcc warnings

使用这个成员初始化...

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/

相关文章:

c++ - 从一组字典返回通用容器

c++ - Bison :存储自定义类

c++ - 无法将参数 ‘char*’ 的 ‘int*’ 转换为 ‘1’ 到 ‘int median(int*, int)’ array2 = median(array,size);

c++ - 为派生类专门化 std::hash 在 gcc 中工作,而不是 clang

c++ - catch 内的 co_await 不再使用 GCC12 进行编译

objective-c - 如何通过 .xcconfig 禁用特定的 clang 诊断?

r - aggregate(df, ...) 返回 NA?

c++ - StringCch* 函数和 Cstring

c++ - 为什么 GCC 不自动向量化这个循环?

python - 为什么我会收到数据转换警告?