I'm confused by different errors I have in Visual Studio 2017 (version 15.9.11):
'if constexpr' is a C++17 language extension
and
language feature 'structured bindings' requires compiler flag '/std:c++17'
I know that adding /std:c++17 flag will solve these issues but why are there two different messages? What is a difference between language extension and a compiler flag requirement?
I am more interested about this thing, because I'm writing a game in Unreal Engine 4.24 I can use 'if constexpr', but I can't use 'structured bindings' even though I'm using the same compiler.
Why?