
Obtuve la versión comunitaria de Visual Studio 2013 y pensé que se suponía que c++ 11 estaba habilitado de forma predeterminada.
Sin embargo, la macro __cplusplus
tiene un valor de 199711L (c++98) en lugar de 201103L (c++11). Además, si intento ejecutar código específico de C++ 11 (como constexpr int a = 5;
), aparece un error en el compilador. ¿Cómo habilito c++11?
Respuesta1
Que el valor de __cplusplus
todavía 199711L
es un error, que ha sidoreportado a Microsoft.
Eso no debería impedirle escribir y compilar código C++11. Debería funcionar (nada especial que configurar).
Tener cuidadoque la implementación C++11 de Visual Studio 2013 essin completar. Entre las funciones no compatibles se encuentra constexpr
, lo que explica por qué aparece un error de compilación ;-)