我有一段非常简单的代码无法使用,并且不知道为什么
以下内容:
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之后,没有任何区别。完全删除它意味着程序编译绝对正常。问题似乎在于定义变量。
答案 0 :(得分:2)
我假设您将其编译为C
语言。您需要在块的开头声明变量:
// beginning of block
int flag=0;
//Some code
if (flag == 0)
{
flag = 1;
}
答案 1 :(得分:1)
答案 2 :(得分:0)
向我看,好像变量声明之前的行还没有用;
完成。检查此行是否缺少分号。