64 28 C:\Users\Administrator\Documents\未命名1.cpp [Warning] extended initializer lists only available with -std=c++11 or -std=gnu++11
时间: 2023-07-16 17:14:17 浏览: 584
这个警告信息是因为你的代码使用了 C++11 的特性,但是编译器没有开启对应的编译选项。你需要在编译时添加 `-std=c++11` 或者 `-std=gnu++11` 这个选项,来开启 C++11 的支持。
具体来说,如果你使用的是 gcc 编译器,可以在编译时添加 `-std=c++11` 选项:
```
g++ -std=c++11 your_code.cpp -o your_program
```
如果你使用的是 Visual Studio,可以在项目属性中设置 C++ 语言版本为 C++11。
如果你使用的是其他编译器,可以查看对应的文档,了解如何开启 C++11 的支持。
相关问题
21 33 C:\Users\yangx\Desktop\大二C++\asd1.cpp [Warning] extended initializer lists only available with -std=c++11 or -std=gnu++11
在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++)中找到对应的选项来调整。
C:\Users\19746\Desktop\duilei1.cpp In function int main() : 11 19 C:\Users\19746\Desktop\duilei1.cpp [Warning] extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by de
这个警告信息是由编译器产生的,意思是你在使用扩展的初始化列表,但是你的编译器并没有开启 C++11 或者 GNU C++11 标准。你需要在编译选项中添加 -std=c++11 或 -std=gnu++11 来启用对扩展初始化列表的支持。如果你使用的是 GCC 编译器,可以在编译命令中加入 -std=c++11 参数,例如:
```
g++ -std=c++11 -o program program.cpp
```
这样就可以启用 C++11 标准,并且编译器就可以正常处理扩展初始化列表了。
阅读全文