У меня была такая же проблема.
Ошибки компиляции были:
* main.cpp (325): ошибка C2601: «ФЛАГ»: определения локальных функций недопустимы
main.cpp (323): эта строка содержит '{', который еще не был найден
main.cpp (326): фатальная ошибка C1075: обнаружен конец файла до того, как левая скобка '{' at 'main.cpp (323)' была найдена *
Но с моим кодом все было в порядке. Я посчитал все скобки и число совпало. Там не было никакой функции внутри другой функции.
Я решил это, удалив все комментарии "//" из исходного кода. Похоже, что причиной этого является неправильное форматирование строки, из-за которого компилятор пропускает разрыв строки, поэтому строка после комментария также рассматривается как комментарий.
Например:
// This is a comment
This_is_a_line;
трактуется как:
// This is a comment This_is_a_line;