无法引用变量......为什么?

时间:2011-05-14 15:24:51

标签: c++ c windows visual-c++

我有一段非常简单的代码无法使用,并且不知道为什么

以下内容:

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

不会编译。它已经是一个非常复杂的程序,我能够在程序中完成其他任何操作而没有任何问题,但由于某种原因,我无法引用我刚刚创建的变量。变量名称是唯一的,应用程序是包含windows.h的Windows应用程序。它是用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 个答案:

答案 0 :(得分:2)

我假设您将其编译为C语言。您需要在块的开头声明变量:

// beginning of block
int flag=0;
//Some code
if (flag == 0)
{
    flag = 1;
}

答案 1 :(得分:1)

你错过了吗?在前一行的末尾?

答案 2 :(得分:0)

向我看,好像变量声明之前的行还没有用;完成。检查此行是否缺少分号。