我有一个头文件buildTree.h
和一个C文件buildTree.c
在头文件中有一个struct typedef,我希望其中一个struct成员是枚举类型
头文件代码是:
#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成员,编译,然后错误消失了。如果我再次添加它,错误就会消失,直到我再次尝试分配...
猜测我没有正确使用标题中的枚举,但我不知道如何......
编辑:我确实尝试在枚举中评论bool,以防万一正在播放但没有变化
答案 0 :(得分:2)
如果这是因为你在你的结构中将“pType”输错为“ptype”,那么众神会惩罚你。
下次,阅读第一行错误输出并修复它。
答案 1 :(得分:1)
命名枚举常量bool
是一个特别糟糕的主意。这是为“stdbool.h”保留的,你可能会遇到很多问题。如果这是你所面对的,我们不能说,因为你既没有给你我们的编译器版本,也没有给我们错误输出。