我正在尝试将我的 C++ 编译器更新为 C++11。我进行了一些搜索,得出的结论是我必须使用标志 -std=c++0x
或 -std=gnu++0x
,但我对标志知之甚少。谁能帮我? (我使用的是 Ubuntu 12.04。)
这是我尝试使用 C++11 中包含的库(即数组)时从编译器得到的错误:
#include <array>
#include <iostream>
int main()
{
std::array<int, 3> arr = {2, 3, 5};
...
}
该文件需要对即将推出的 ISO C++ 标准 C++0x 的编译器和库支持。此支持目前是实验性的,必须使用 -std=c++0x 或 -std=gnu++0x 编译器选项启用。
原文由 Rontogiannis Aristofanis 发布,翻译遵循 CC BY-SA 4.0 许可协议
标志(或编译器选项)只不过是传递给编译器可执行文件的普通命令行参数。
假设您正在从命令行(终端)调用 g++:
$ g++ -std=c++11 your_file.cpp -o your_program
或者
$ g++ -std=c++0x your_file.cpp -o your_program
如果上述方法不起作用。