Как говорили другие, это связано с расширением Microsoft C ++. Хотя флаг /Za
не рекомендуется, так как он может сломать вещи.
Вместо этого используйте переключатель /permissive-
для лучшего соответствия стандартам, и вы получите здоровые ошибки для этих случаев. Обратите внимание, что этот флаг доступен с VS 2017.
Коммутатор / Za не поддерживает определенные файлы заголовков Microsoft SDK. В противоположность этому / permissive - предлагает полезный режим соответствия, где ввод кода C ++ интерпретируется в соответствии с правилами ISO C ++, но также позволяет соответствовать расширениям, необходимым для компиляции C ++ для целей, поддерживаемых Visual C ++.
blockquote>Дополнительная информация находится на Visual C ++ Team Blog .