在VS2012上是否有可能禁用C++11的功能?我的代码还没有准备好使用它,我不想引入更多混乱。
在VS2012上是否有可能禁用C++11的功能?我的代码还没有准备好使用它,我不想引入更多混乱。
自Visual C++ 2015更新3版起,现在可以为语言行为指定语言版本(显然它不仅影响符合性检查):
https://blogs.msdn.microsoft.com/vcblog/2016/06/07/standards-version-switches-in-the-compiler/
很不幸,唯一的选项是“C++14”(不完全准确,它包括之前发布的 C++14 特性以及后续的一些特性),以及“C++ Latest”(C++14 加上 C++17 和提案的部分实现,但不包括“实验性”的特性)
相应的命令行开关为:
/std:c++14
/std:c++latest
右键单击项目 -> 属性 -> 常规 -> 平台工具集 -> Visual Studio 2010
这将使用Visual Studio 2010编译器编译该项目。
是的,您可以在Visual C++编译器上禁用C++11功能。使用/Tc
编译器选项将导致C++11语法错误。
不幸的是,C++03和C++98也会受到影响。剩下的只有C89,以及一些Microsoft扩展,如支持//单行注释
。