为什么g ++不会编译简单的代码?

时间:2016-07-06 23:37:30

标签: c++ g++

为什么在g ++中编译一个简单的源代码我有一个奇怪的错误:

#include <vector>
int main(int argc, const char* argv[]){
    std::vector<int> a{1,2,3};
    return 0;
}

编译器输出

g++ -c -Wall main.cpp
main.cpp:4:20: error: expected ';' at end of declaration
    std::vector<int> a{1,2,3};
                      ^
                      ;
1 error generated.

当我在xCode中编译它时,一切正常。

1 个答案:

答案 0 :(得分:3)

将编译器命令更改为

> g++ -std=c++11 -c -Wall main.cpp
> #   ^^^^^^^^^^

如果您的GCC编译器版本不支持该标志,则应升级到较新版本(默认情况下可能支持当前标准)。