如何在Microsoft Visual Studio 2017中检查C++版本

15

我正在尝试使用以下代码检查我拥有的C++版本。

if (__cplusplus == 201703L) std::cout << "C++17\n";
        else if (__cplusplus == 201402L) std::cout << "C++14\n";
        else if (__cplusplus == 201103L) std::cout << "C++11\n";
        else if (__cplusplus == 199711L) std::cout << "C++98\n";
        else std::cout << "pre-standard C++\n";

输出是C++98版本,但我肯定能使用c++11的特性,所以我认为我从代码中没有得到正确的版本。

我该如何检查我正在使用的c++版本?


这个回答解决了你的问题吗?如何确定编译器使用的C++标准版本? - NutCracker
除非您明确设置/Zc:__cplusplus编译器选项,否则您将获得默认的199711L。 - acraig5075
请查看此处链接(https://dev59.com/EnE95IYBdhLWcg3wadKq#51536462),尤其是评论部分。 - NutCracker
2个回答

33

在检查C++语言标准方面,比编写程序更简单的方式是在项目中进行设置(在解决方案资源管理器中右键单击项目名称)> 属性 > C/C++ > 语言 > C++语言标准。

您也可以在此更改它。

我是通过这个答案知道的。


12

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接