Не отключаются по инструкции Microsoft мешающие ключевые слова
Имеется большой legacy проект. При компиляции с 20-м стандартом ругается на имена функций or и and, которые на кой-то ляд сделали ключевыми словами. На сайте Microsoft https://learn.microsoft.com/en-us/cpp/cpp/logical-or-operator-pipe-pipe?view=msvc-160 написано, что данные слова в силе только если в настройках проекта поставлено /permissive- (режим совместимости: да) ИЛИ /Za (отключить расширения языка: да). Разумеется, я режим совместимости и расширения языка выставил в нет, но всё равно не компилируется!
error C2059: синтаксическая ошибка: ||
Когда я отключил вышеуказанное, имена этих функций обрели подсветку как у других, словно теперь эти слова стали расцениваться Intellisense как имена. Но компилятор так не думает. И кстати макросами они не считаются, если верить Intellisense.
Как это решить? Исправлять имя символа очень трудозатратно, придётся перелопатить все исходники, которые писал тем более не я. А 20-й стандарт очень хочется.