2013-07-08 174 views
4
#include <vector> 
... 
//inside main function 
vector<int> vi3 = {42,42,42,42,42,42,42,42,42,42}; 

我正在学习C++,我认为可以像这样初始化一个向量......我做错了什么?我知道初始化矢量的其他方法。在这本书中,我读它说,它也可以这样做:C++向量初始化

vector<int> vi3{42,42,42,42,42,42,42,42,42,42}; 

它是在这给了我一个错误的书的第一件事。我究竟做错了什么?

+4

你需要告诉你的编译器你正在使用C++ 11。 – trojanfoe

+0

并确保它不是visual studio <2013测试版,因为它没有实现直到 – doctorlove

+0

@SadSeven你正在使用哪种编译器? – doctorlove

回答

10

目前尚不清楚你正在使用的编译器,但如果你正在使用gcc,你需要告诉它使用C中的2013预览之前微软的Visual Studio的版本不支持统一初始化语法{}

++ 11:

-std=c++0x 
+1

CTP确实,但没有图书馆支持。 '-std = C++ 11'与'-std = C++ 0x'相比还有一些优点。 – chris

+0

我正在使用Visual Studio 2012,对不起。你是对的。非常感谢你。 – SadSeven

+0

我会尽力克里斯,谢谢。 – SadSeven