2015年1月27日00:27:45

    今天在Code::Blocks 13.12上面编译一段简单的程序时,遇到错误提示:

error: unknown type name ‘bool’

    我开始以为是用的GNU GCC编译器不支持bool类型,把编译器改成Microsoft Visual C++ 2010后依然没有解决问题,说明并不是编译器的问题。

    问了度娘,原来C语言里面是没有bool(布尔)类型的,C++里面才有,这就是说,在C++里面使用bool类型是没有问题的。bool类型有只有两个值:true =1 、false=0。

     但是,C99标准里面,又定义了bool类型变量。这时,只要引入头文件 <stdbool.h>,就能在C语言里面正常使用bool类型。但是在VC6.0中,会报找不到头文件 stdbool.h 的错误,VC6.0确实比较老了。

      所以,为了兼容各种编译器,还是自己定义吧。

     typedef enum {
           false, true
       } bool;