[C++]Linux之C編程異常[true未定義解決方案]


C語言里面是沒有bool(布爾)類型的,C++里面才有,這就是說,在C++里面使用bool類型是沒有問題的。bool類型有只有兩個值:true =1 、false=0。

      但是,C99標准里面,又定義了bool類型變量。這時,只要引入頭文件 <stdbool.h>,就能在C語言里面正常使用bool類型。這點我在Fedora9下驗證過了,它自帶的編譯器是 gcc 4.3.0,符合C99標准。但是在VC6.0中,會報找不到頭文件 stdbool.h 的錯誤,看來VC6.0確實比較老了。

      所以,為了兼容各種編譯器,還是自己定義吧。^_^

  

//方法1
#define bool char(或者 int等均可)
#define ture 1
#define false 0

//方法2:注意:但是有些編譯器沒有這個頭文件,那么可以使用方法1(原理其實是相同)
#include <stdbool.h>  
/*
//部分代碼片段

#ifndef __STDBOOL_H
#define __STDBOOL_H

#undef bool
#undef true
#undef false

#define bool int
#define false 0
#define true (!false)
#endif

*/

 

 

 

參考文獻:

  【C語言中有bool類型嗎?】(http://blog.csdn.net/liuqiqi677/article/details/6703615)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM