我正在使用VC2010。我使用
将FALSE定义为false#define FALSE=false
然后我尝试使用它如下
bool *bPtr;
if(some condition)
*bPtr=FALSE;
编译器标记为FALSE并说“预期表达式”。
我使用false而不是定义的'FALSE'并接受它。 我想知道可能是什么问题。
你可能告诉我不要定义,所以不要使用FALSE。好吧,我没有使用它。
我只是想知道这个问题。
答案 0 :(得分:6)
就是这样:
#define FALSE false
有空格且没有=
。
答案 1 :(得分:5)
您不应将=
放在定义语句中:
#define FALSE false
问题在于预处理器会将每个FALSE
替换为=false
,因此您将拥有:
*bPtr==false;
如你所见,这是不合法的。
答案 2 :(得分:2)
尝试这样定义:
#ifndef (FALSE)
#define FALSE (0)
#endif