c语言,在一个头文件定义一个枚举变量,有两个C文件用#include包含了这个头文件,编译错误:重复声明成员

redeclaredenummemberER_overtime2... redeclared enum member ER_overtime2 展开
 我来答
百度网友83cdc1c
2013-04-27 · TA获得超过5788个赞
知道大有可为答主
回答量:1907
采纳率:100%
帮助的人:818万
展开全部
头文件里加防止重复定义的宏定义

#ifndef XXX_H
#define XXX_H
你的枚举;
其他定义和声明;
#endif
追问
是不是枚举变量只能在一个文件使用?现要求在两个文件里使用同一个枚举变量,
追答
如果是全局变量,当然只能有一个。一般不在头文件里定义全局变量,在.c文件里定义,然后再头文件里extern声明一下。

譬如,test.c里定义全局变量
int a;
test.h里声明
extern int a;
这样,全局变量就只有一个,但可以在其他地方使用。
至于是哪种类型的全局变量没什么关系,枚举变量也一样。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式