当我尝试初始化一个int s的vector时,我总是得到这个错误:在声明结尾处应为“;”我使用了“C++ Primer”中的原始代码:
int
vector
vector<int> v{1,2,3,4,5,6,7,8,9};
字符串和
$ g++ -o test test.cpp
型我认为这是一个愚蠢的问题,但我肯定有一个;。我无法找到答案。
;
mu0hgdu01#
默认情况下,g++假定为C03,而您尝试使用的语法来自C11。将编译行更改为:
g++
$ g++ -std=c++11 -o test test.cpp
字符串或者,我个人更喜欢:
$ g++ -Wall -Werror -pedantic -std=c++1y -o test test.cpp
型:)的
:)
c++0x
c++11
c++1y
c++14
rjee0c152#
你的编译器默认不支持 * 花括号初始化 *;这是在C++11中添加的。可能有一个命令行参数可以在编译器中使用,沿着第一个月
91zkwejq3#
我认为你使用代码运行器来构建和启动. cpp。你必须设置这个扩展并更改'Executor Map'。为cpp添加:-std=c++17 -stdlib=li
3条答案
按热度按时间mu0hgdu01#
默认情况下,
g++
假定为C03,而您尝试使用的语法来自C11。将编译行更改为:字符串
或者,我个人更喜欢:
型
:)
的c++0x
、c++11
还是c++1y
(可能还有c++14
)主要取决于编译器的版本,因为这些版本是在example中引入的。rjee0c152#
你的编译器默认不支持 * 花括号初始化 *;这是在C++11中添加的。
可能有一个命令行参数可以在编译器中使用,沿着
第一个月
91zkwejq3#
我认为你使用代码运行器来构建和启动. cpp。你必须设置这个扩展并更改'Executor Map'。为cpp添加:-std=c++17 -stdlib=li