Странная Visual Studio 2008 C ++ ошибка компилятора - PullRequest
0 голосов
/ 28 июля 2010

У меня есть три строки кода:

 //int pi;
 activation->structSize = sizeof(rmsActivationT);
 int pi; //program wont compile with this here

каждый раз, когда я раскомментирую второй int pi и комментирую первый int pi, я получаю эту ошибку: синтаксическая ошибка: отсутствует ';'перед «тип».Когда я раскомментирую этот первый int pi и комментирую второй int pi, мой компилятор больше не жалуется.Эта ошибка беспокоила меня почти целый день, теперь любые идеи будут великолепны.

Спасибо

Визуальные студии 2008 Windows XP 32 бит

Ответы [ 2 ]

5 голосов
/ 28 июля 2010

Возможно, вы компилируете код как C вместо C ++? C (до C99, который Visual Studio не поддерживает) требовал, чтобы все определения в блоке предшествовали любым другим операторам.

0 голосов
/ 11 октября 2014

У меня была такая же проблема.

Ошибки компиляции были:

* 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;
...