c - 枚举C,全局变量错误: variable has initializer but incomplete type

标签 c enums global-variables typedef extern

我使用枚举在 C 中使用 bool 变量,并在头文件中使用以下代码:

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

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

然后,当我尝试使用 Bool low = FALSE 在另一个 .c 文件中将变量初始化为 false 时,我收到错误变量“low”具有初始值设定项,但类型不完整.

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

最佳答案

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

typedef enum _myBool Bool;

typedef enum myBool Bool;

关于c - 枚举C,全局变量错误: variable has initializer but incomplete type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45024556/

相关文章:

c++ - 如何将动态矩阵复制到 CUDA 中的设备内存?

c - fork() 返回正数而不是零

c++ - 枚举类仅适用于 -std=c++11

python - 更改全局范围对象

java - Java 中的枚举和泛型

python - 打印枚举类的所有成员名称

r - t 作为 R 中全局变量的名称 : impossible?

c - offsetof 在检查 union 成员的字节偏移量时返回 0

c - 如何在纯 C 中启动线程?

c - 无需RAM即可虚拟工作的解压算法(如果可能的话LZ喜欢)