【发布时间】:2011-08-25 13:06:01
【问题描述】:
我有一个头文件 (head.h),我在其中定义了布尔值:
bool flag = false;
在main.c中,我有一个函数:
void WINAPI function (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)
{
if (flag == false)
{
//Some action
flag = true;
}
}
即使 main.c 以以下行开头,布尔值 'flag' 也无法识别:
#include "head.h"
...为什么?
【问题讨论】:
-
你已经给 flag 赋值了吗?
-
这是你标题的唯一内容吗?
-
在这种情况下,最好的办法是创建最小的实际程序来显示问题。当您仅发布上面的代码时,它显然应该可以工作(如果您要测试该代码,可能会这样做)。 REAL 代码中可能还有其他原因导致您看到的问题。删除代码和测试可以帮助您找到它。
-
flag无论如何都应该是外部的。 -
@Etienne extern 默认假设在非 const 变量的全局(命名空间)范围内。
标签: c++ function header boolean