我正在尝试将我的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编译器选项启用。
g++-4.6
默认情况下也应启用ubuntu 12.04 (仅支持-std=c++0x
)
g++
,例如g++ -std=c++0x _filename_ && ./a.out
。
-std=c++11
。不过,也许两者都被允许。