2012-01-09 12 views
0

私はVC2010を使用しています。私は次のCコードで何が問題になっています

#define FALSE=false 

を使用して、偽であることがFALSEに定義してから、私は「発現を期待」FALSE

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

コンパイラフラグを次のと言うように、それを使用しようとしました。

私は定義された 'FALSE'の代わりにfalseを使用し、それを受け入れます。 私は何が問題かと思っています。

私はFALSEを定義しないようにと言っているかもしれません。まあ、私はそれを使用していない。

私はこの問題を知りたいだけです。

答えて

5

あなたが定義文で=を入れないでください。

#define FALSE false 

問題は、プリプロセッサは=falseとすべてのFALSEを交換するということですので、あなたがします持っている:

*bPtr==false; 

これはあなたが見る通り合法ではありません。

+0

ありがとうございました!私が定義したときに私は傷ついたと思う。 – John

6

ちょうどこの:

#define FALSE false 

空白とし、=なし。

2

は次のように定義してみてください:

#ifndef (FALSE) 
#define FALSE (0) 
#endif 
関連する問題