在 Visual Studio 2013 上启用 c++11

use*_*265 4 visual-studio-2013

我得到了 Visual Studio 2013 的社区版本,我认为默认情况下应该启用 c++11。

但是,宏__cplusplus的值为 199711L (c++98) 而不是 201103L (c++11)。此外,如果我尝试运行 c++11 特定代码(如constexpr int a = 5;),它会在编译器中出现错误。如何启用 C++11?

mis*_*256 7

的值__cplusplus仍然199711L是一个错误,已报告给 Microsoft

这不应该阻止您编写和编译 C++11 代码。它应该可以正常工作(没有什么特别的配置)。

请注意Visual Studio 2013 的 C++11 实现不完整。不受支持的功能之一是constexpr,这解释了为什么会出现编译错误;-)

  • 截至 2016 年 6 月 20 日,[向 Microsoft 报告的错误](https://connect.microsoft.com/VisualStudio/feedback/details/763051/a-value-of-predefined-macro-cplusplus-is-still-199711l ) 已关闭并延期。`__cplusplus` 此时仍为 199711L。使用 Visual Studio 2015 更新 2。 (2认同)