21 33 C:\Users\yangx\Desktop\大二C++\asd1.cpp [Warning] extended initializer lists only available with -std=c++11 or -std=gnu++11
时间: 2024-10-29 20:13:42 浏览: 17
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
在C++中,当你看到类似 `[Warning] extended initializer lists only available with -std=c++11 or -std=gnu++11` 的警告,这是因为在C++11及更高标准版本中,允许使用扩展的初始化列表(extended initializer lists),这是一种更清晰的方式来初始化构造函数的成员变量。比如:
```cpp
std::vector<int> myVector = {1, 2, 3, 4, 5}; // C++11及以上可用
```
这行代码等同于:
```cpp
std::vector<int> myVector;
myVector.push_back(1);
myVector.push_back(2);
myVector.push_back(3);
myVector.push_back(4);
myVector.push_back(5);
```
但是,如果你的编译器默认设置的标准低于C++11(通常默认为C++98或C++03),则不允许使用扩展的初始化列表,这时你需要在编译选项中指定 `-std=gnu++11` 来开启C++11模式。这个警告告诉你,你需要更改编译设置来消除这个警告,并启用C++11的特性。
如果你不确定如何改变编译器设置,通常可以在IDE(集成开发环境)的构建配置或者命令行编译工具(如g++)中找到对应的选项来调整。
阅读全文