我正在尝试使用以下代码检查我拥有的 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++?
最佳答案
来自 https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/
You need to compile with the
/Zc:__cplusplus
switch to see the updated value of the__cplusplus
macro.
请注意,这是在 MSVC 2017(版本 15.7 Preview 3)中添加的,它在旧版本中不可用。
关于c++ - 如何在 Microsoft Visual Studio 2017 中检查 C++ 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60052108/