Ответ 1
Значение __cplusplus
временно намеренно несоответствует по умолчанию для текущих версий Visual Studio, чтобы избежать нарушения существующего кода. Это не значит, что ваш компилятор не поддерживает какие-либо С++ 11 (или более новые) функции.
Цитата из MSVC теперь корректно сообщает __cplusplus:
/Zc: __ cplusplus
Вам нужно скомпилировать с
/Zc:__cplusplus
переключателя/Zc:__cplusplus
чтобы увидеть обновленное значение макроса__cplusplus
. Мы попытались обновить макрос по умолчанию и обнаружили, что много кода не компилируется правильно, когда мы меняем значение__cplusplus
./Zc:__cplusplus
продолжать использовать переключатель/Zc:__cplusplus
для всех младших версий MSVC в семействе 19.xx.