我对 Visual Studio 2017(版本 15.9.11)中的不同错误感到困惑:
'if constexpr' is a C++17 language extension
和
language feature 'structured bindings' requires compiler flag '/std:c++17'
我知道添加 /std:c++17 标志可以解决这些问题,但为什么会有两条不同的消息?语言扩展和编译器标志要求有什么区别?
我对这件事更感兴趣,因为我正在使用 Unreal Engine 4.24 编写游戏,我可以使用“if constexpr”,但即使使用相同的编译器,我也不能使用“结构化绑定”。
为什么?