Невозможно ссылаться на переменные ... Почему? - PullRequest
0 голосов
/ 14 мая 2011

У меня есть очень простой код, который не будет работать, и я не знаю, почему

Следующее:

int flag = 0;
if (flag == 0)
{
    flag = 1;
}

Не компилируется. Это уже довольно сложная программа, и я могу выполнять другие действия в программе без проблем, но по какой-то причине я не могу ссылаться на только что созданную переменную. Имя переменной является уникальным, и приложение является приложением Windows, включая windows.h. Он написан на C, и до сих пор я не пытался создавать свои собственные переменные.

Я не могу опубликовать полный код здесь, в первую очередь потому, что есть страницы с ним, но может ли кто-нибудь предположить, почему он не может скомпилироваться? Я использую Visual C ++ и имею следующие ошибки:

syntax error : missing ';' before 'type' (this applies to line 1)
'flag' : undeclared identifier (line 2)
'flag' : undeclared identifier (line 4)

Я также пытался использовать bool, используя «true» и «false». Я относительно новичок в C ++. Обратите внимание, что код компилируется без него вообще. Это происходит сразу после предыдущего действия внутри более крупного оператора if, частью которого он является. Я успешно добавил другие вложенные операторы if в том же месте, что и этот. Исключение из выражения if совершенно не имеет значения. Поместить все в верхнюю часть моего файла main.c, сразу после #includes, не имеет значения. Полное удаление означает, что программа компилируется абсолютно нормально. Проблема, похоже, заключается в определении переменной.

Ответы [ 3 ]

2 голосов
/ 14 мая 2011

Полагаю, вы компилируете его на C язык.Вам необходимо объявить переменную в начале блока:

// beginning of block
int flag=0;
//Some code
if (flag == 0)
{
    flag = 1;
}
1 голос
/ 14 мая 2011

вы пропустили;в конце предыдущей строки?

0 голосов
/ 14 мая 2011

Выглядит для меня, как будто строка перед объявлением переменной не была закончена с ;. Проверьте эту строку на наличие пропущенной точки с запятой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...