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

그것은 당신이 사용하고있는 컴파일러 명확하지 않다,하지만 당신은 당신이 C를 사용하도록 말할 필요가 GCC를 사용하는 경우 2013 미리보기 전에 마이크로 소프트의 비주얼 스튜디오 버전은 균일 초기화 구문 {}

을 지원하지 않습니다 ++ 11 :

-std=c++0x 
+1

CTP가했으나 라이브러리를 지원하지 않았습니다. '-std = C++ 11'은'-std = C++ 0x'보다 몇 가지 장점이 있습니다. – chris

+0

Visual Studio 2012를 사용하고 있습니다. 죄송합니다. 네가 옳아. 고맙습니다. – SadSeven

+0

나는 그 chris를 시험해 볼 것이다, 고마워. – SadSeven