c语言在一个文件中定义enum w{a1=1,b1=2}c,在另一个文件说明extern c,c=a1提示a1没有定义.

2024-12-04 05:24:40
推荐回答(1个)
回答1:

枚举类型类似常量宏定义,需要在引用它的所有文件都定义。

应该这样:
a.h里定义枚举
enum w{a1=1,b1=2};
b.c里:
#include "a.h"
enum w c;
d.c里:
#include "a.h"
extern enum w c;
c=a1;
这样就可以了。