在声明/vector /c++的末尾应该有“;”

mefy6pfw  于 12个月前  发布在  其他
关注(0)|答案(3)|浏览(77)

当我尝试初始化一个int s的vector时,我总是得到这个错误:
在声明结尾处应为“;”
我使用了“C++ Primer”中的原始代码:

vector<int> v{1,2,3,4,5,6,7,8,9};

字符串

$ g++ -o test test.cpp


我认为这是一个愚蠢的问题,但我肯定有一个;。我无法找到答案。

mu0hgdu0

mu0hgdu01#

默认情况下,g++假定为C03,而您尝试使用的语法来自C11。将编译行更改为:

$ g++ -std=c++11 -o test test.cpp

字符串
或者,我个人更喜欢:

$ g++ -Wall -Werror -pedantic -std=c++1y -o test test.cpp


:)

  • 注意事项 *:使用c++0xc++11还是c++1y(可能还有c++14)主要取决于编译器的版本,因为这些版本是在example中引入的。
rjee0c15

rjee0c152#

你的编译器默认不支持 * 花括号初始化 *;这是在C++11中添加的。
可能有一个命令行参数可以在编译器中使用,沿着
第一个月

91zkwejq

91zkwejq3#

我认为你使用代码运行器来构建和启动. cpp。你必须设置这个扩展并更改'Executor Map'。为cpp添加:-std=c++17 -stdlib=li

相关问题