预期';'在声明/ vector / c ++结束时

时间:2015-01-13 14:09:11

标签: c++ vector

当我尝试在c ++中初始化int的向量时,我总是得到"期望&#39 ;;'在声明结束时#34;错误。

我使用了C ++ Primer的原始代码

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

$ g++ -o test test.cpp

我认为这是一个愚蠢的问题,但我确信有一个&#34 ;;&#34; ...并且无法设法搜索答案。 感谢。

2 个答案:

答案 0 :(得分:8)

g++默认使用C ++ 03,而您尝试使用的语法来自C ++ 11。将编译行更改为:

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

或者,正如我个人更喜欢的那样:

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

:)

注意:您是否使用c++0xc++11c++1y(可能还有c++14)主要取决于编译器版本,因为这些都是在成功中引入的。

答案 1 :(得分:4)

默认情况下,您的编译器不支持大括号初始化;这是在C ++ 11中添加的。

可能有一个命令行参数,你可以在你的编译器中使用,类似于

-std=c++11