2012-01-09 97 views
0

我正在使用VC2010。我定義FALSE使用以下C代碼有什麼問題

#define FALSE=false 

是假的,然後我試圖如下

bool *bPtr; 
if(some condition) 
*bPtr=FALSE; 

編譯器標誌FALSE,並表示使用它「預期的表達」。

我用false而不是定義的'FALSE',它接受它。 我想知道可能是什麼問題。

你可能會告訴我不要定義,所以不要使用FALSE。好吧,我沒有使用它。

我只是想知道這個問題。

回答

5

你不應該把=在定義語句:

#define FALSE false 

的問題是,預處理器將取代=falseFALSE,所以你會有:

*bPtr==false; 

如你所見,這不合法。

+0

謝謝!我猜我是盲人,當我定義它時。 – John 2012-01-09 08:35:45

6

就在:

#define FALSE false 

與空白和不=

2

嘗試定義是這樣的:

#ifndef (FALSE) 
#define FALSE (0) 
#endif