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

Why g++ wont compile simple code?

本文关键字:简单 代码 编译 g++ 为什么      更新时间:2023-10-16

我遇到了奇怪的错误,为什么要用 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中编译它时,一切正常。

将编译器命令更改为

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

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