
Я установил общедоступную версию Visual Studio 2013 и думал, что c++11 должен быть включен по умолчанию.
Однако макрос __cplusplus
имеет значение 199711L (c++98), а не 201103L (c++11). Более того, если я попытаюсь запустить специфичный для c++11 код (например constexpr int a = 5;
), он выдаст ошибку в компиляторе. Как включить c++11?
решение1
То, что значение __cplusplus
по-прежнему равно , 199711L
является ошибкой, которая быласообщил в Microsoft.
Это не должно останавливать вас от написания и компиляции кода C++11. Он должен просто работать (ничего особенного для настройки).
Остерегатьсячто реализация C++11 в Visual Studio 2013 являетсяне завершено. Среди неподдерживаемых функций есть constexpr
, что объясняет, почему вы получаете ошибку компиляции ;-)