2013-07-08 180 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