我正在使用VC2010。我定義FALSE使用以下C代碼有什麼問題
#define FALSE=false
是假的,然後我試圖如下
bool *bPtr;
if(some condition)
*bPtr=FALSE;
編譯器標誌FALSE,並表示使用它「預期的表達」。
我用false而不是定義的'FALSE',它接受它。 我想知道可能是什麼問題。
你可能會告訴我不要定義,所以不要使用FALSE。好吧,我沒有使用它。
我只是想知道這個問題。
我正在使用VC2010。我定義FALSE使用以下C代碼有什麼問題
#define FALSE=false
是假的,然後我試圖如下
bool *bPtr;
if(some condition)
*bPtr=FALSE;
編譯器標誌FALSE,並表示使用它「預期的表達」。
我用false而不是定義的'FALSE',它接受它。 我想知道可能是什麼問題。
你可能會告訴我不要定義,所以不要使用FALSE。好吧,我沒有使用它。
我只是想知道這個問題。
你不應該把=
在定義語句:
#define FALSE false
的問題是,預處理器將取代=false
每FALSE
,所以你會有:
*bPtr==false;
如你所見,這不合法。
就在:
#define FALSE false
與空白和不=
。
嘗試定義是這樣的:
#ifndef (FALSE)
#define FALSE (0)
#endif
謝謝!我猜我是盲人,當我定義它時。 – John 2012-01-09 08:35:45