C++编译报错 non-aggregate cannot be initialized with an initializer list

错误信息: non-aggregate type ‘vector’ cannot be initialized with an initializer list

  • 问题出在g++编译的标准上。Mac的编译器默认是只支持C++98的标准的

  • 因此,系统不出错的方法就是更换标准,具体方法如下:

    g++ a.cpp 改为 g++ -std=c++11 a.cpp

  • 如果觉得这样很繁琐,可以直接将该命令简化为g++:
    echo "alias g++='g++ -std=c++11'" >> ~/.bash_profile"

  • 这样以后输入g++就相当于输入g++ -std=c++11 a.cpp

猜你喜欢

转载自blog.csdn.net/Xurui_Luo/article/details/106754517