Как исправить ошибки компиляции в MSV C, связанные с объявлением анонимной структуры внутри 'for' l oop? - PullRequest
4 голосов
/ 06 февраля 2020

Мы можем объявить анонимный struct внутри for l oop как ниже (г ++) :

for(struct { bool OK = true; } s; s.OK; s.OK = false)
  std::cout << "Hello, world!\n";

Но этот код приводит к ошибке компиляции в MSV C как:

исходный_файл. cpp (7): ошибка C2332: 'struct': отсутствующее имя тега
исходный_файл. cpp (7): ошибка C2062: тип 'bool' неожиданный
исходный_файл. cpp (7): ошибка C4430: отсутствует указатель типа - предполагается int.
Примечание: C ++ не поддерживает default-int

Как это исправить?


Версия :

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community> cl
Оптимизирующая версия компилятора Microsoft (R) C / C ++ 19.14.26430 для x86
Авторские права (C) Корпорация Microsoft. Все права защищены.

...