【发布时间】:2017-01-31 08:56:29
【问题描述】:
当我为 lint 运行代码时,我收到警告说“警告 506:常量布尔值”用于我使用宏分配变量的行。
#define FALSE (0)
#define TRUE (!FALSE)
typedef char BOOL;
BOOL fTriggerCallback;
fun_1()
{
fTriggerCallback = FALSE; //No warning
}
fun_2()
{
if(fTriggerCallback == FALSE)
{
fTriggerCallback =TRUE; //here is the warning
}
}
fun_3()
{
fTriggerCallback =TRUE; //here is the warning
}
在这段代码中,我收到警告,我将 TRUE 分配给变量。在我将 FALSE 分配给变量的地方看不到警告。
但是当我更改宏 #define TRUE 1 时,警告已修复。我不知道这背后的确切原因/原因。
【问题讨论】:
-
可能相关(和谷歌离开)stackoverflow.com/questions/17110146/…
-
我假设您使用的是旧的或过时的 C 编译器,或者您将使用 the standard bool functionality?
-
你也能说明一下用法吗?