zoukankan      html  css  js  c++  java
  • [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)

  • 相关阅读:
    第一次作业
    第07组 Alpha事后诸葛亮
    2019SDN第4次作业
    第07组 Alpha冲刺(4/4)
    第07组 Alpha冲刺(3/4)
    第07组 Alpha冲刺(2/4)
    2019 SDN上机第3次作业
    2019 SDN阅读作业
    第07组 Alpha冲刺(1/4)
    2019 SDN上机第2次作业
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/8007927.html
Copyright © 2011-2022 走看看