【问题标题】:enum C, global variable error: variable has initializer but incomplete type枚举 C,全局变量错误:变量具有初始化程序但类型不完整
【发布时间】:2017-07-11 02:49:27
【问题描述】:

我使用枚举在 C 中使用头文件中的以下代码来拥有布尔变量:

enum myBool { FALSE = 0, TRUE = 1}; typedef enum _myBool Bool;

然后我定义了一些全局 Bool 变量:extern Bool low;

然后,当我尝试使用 Bool low = FALSE 将另一个 .c 文件中的变量初始化为 false 时,我得到错误变量“低”具有初始化程序但类型不完整。

我该如何解决这个问题?非常感谢!!

【问题讨论】:

    标签: c enums global-variables typedef extern


    【解决方案1】:

    您已将枚举定义为 myBool 而不是 _myBool,因此您需要更改

    typedef enum _myBool Bool;
    

    typedef enum myBool Bool;
    

    【讨论】:

      【解决方案2】:

      然后我定义了一些全局 Bool 变量:extern Bool low;

      所以你已经在另一个文件中声明了它。否则你会得到链接器错误

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-13
        • 1970-01-01
        相关资源
        最近更新 更多