커뮤니티 버전의 Visual Studio 2013을 받았으며 c ++ 11이 기본적으로 활성화되어 있다고 생각했습니다.
그러나 매크로 __cplusplus
의 값은 201103L (c ++ 11)이 아니라 199711L (c ++ 98)입니다. 또한 c ++ 11 특정 코드 (예 :)를 실행하려고 constexpr int a = 5;
하면 컴파일러에서 오류가 발생합니다. C ++ 11을 어떻게 활성화합니까?
커뮤니티 버전의 Visual Studio 2013을 받았으며 c ++ 11이 기본적으로 활성화되어 있다고 생각했습니다.
그러나 매크로 __cplusplus
의 값은 201103L (c ++ 11)이 아니라 199711L (c ++ 98)입니다. 또한 c ++ 11 특정 코드 (예 :)를 실행하려고 constexpr int a = 5;
하면 컴파일러에서 오류가 발생합니다. C ++ 11을 어떻게 활성화합니까?
답변:
의 가치 __cplusplus
는 여전히 199711L
버그이며 Microsoft에보고 되었습니다 .
C ++ 11 코드를 작성하고 컴파일하는 것을 막을 수는 없습니다. 작동해야합니다 (구성 할 특별한 것은 없습니다).
조심 비주얼 스튜디오 2013의 C ++ (11) 구현이 있음을 완료 할 수 없습니다 . 지원되지 않는 기능 중에는 constexpr
컴파일 오류가 발생하는 이유를 설명하는 ;-)
__cplusplus
현재는 199711L입니다. Visual Studio 2015 업데이트 2 사용