2009-12-18 3 views

답변

13

이 시도 :

std::vector<std::vector<double> > v2; //give a space between two '>'

">>"은 오른쪽 시프트 연산자로 해석되므로 컴파일 타임 오류가 발생합니다.

이 문제는 C++ 0x에서 수정 될 예정입니다. 보십시오 here보십시오.

std::vector<std::vector<double> > v2; 

그렇지 않으면, ">>"하나의 토큰으로 처리됩니다

+2

아직 C++ 0x가 완료 될 때까지 기다릴 수없는 또 하나의 이유가 있습니다. – ZoogieZork

+0

나는 그것이 왜 일어나는 지 알고 있습니다. 문제는 VC++에서 부드럽게 컴파일되는 이유입니다. 어쨌든 - 나는 CC 소스를 변경할 수 없기 때문에 VC를 VC++과 호환되도록 컴파일러 옵션 솔루션을 사용하고 있습니다. – Steve

+2

MSVC++ 확장이라고 생각합니다. –

5

당신은 두 개의 부등호 사이의 공간이 필요합니다.

5
std::vector<std::vector<double> > v2; 

공간을 추가해야합니다. 그렇지 않으면 ">> 연산자로 해석됩니다.