我有一个头文件buildTree.h
和一个 C 文件,头文件buildTree.c
中有一个结构类型定义,我希望结构成员之一是枚举类型
头文件代码为:
#define TREE_ITEM_LIMIT 100
typedef enum pType {
none = 0,
bool = 1,
number = 2,
baud = 3
}pType;
typedef struct tree {
// 27 byte size struct
char longName [13];
char shortName [5];
char shortParent [5];
ptype parameterType;
void (* handler)(int);
}tree;
extern tree item[TREE_ITEM_LIMIT];
extern tree defaultValues;
如果我随后尝试为 C 文件中的 parameterType 成员分配一个值,则会得到一大堆错误,这些错误基本上说我的结构非常糟糕。真正奇怪的是,如果我再次删除分配,下次编译时错误不会消失!我必须从结构中删除 pType 成员,编译,然后错误就消失了。如果我再次添加它,错误就会消失,直到我再次尝试分配......
猜测我没有正确使用标题中的枚举,但我看不到如何......
编辑:我确实尝试在枚举中注释掉布尔值,以防万一它正在播放但没有改变