小编Sma*_*llX的帖子

C中枚举问题的重新声明

我的 C 项目中出现编译错误。我有一个包含此枚举的头文件:

typedef enum {
  RAD_ALLOWED= 0,         
  RAD_STOPPED ,
  RAD_OFF 
} Values_E;
Run Code Online (Sandbox Code Playgroud)

并在另一个带有此枚举的头文件中:

typedef enum {
  RAD_ALLOWED= 0,         
  RAD_STOPPED ,
  RAD_OFF 
} Values_X;
Run Code Online (Sandbox Code Playgroud)

当我将两个头文件包含在同一个 c 文件中时,我遇到类似于以下内容的错误:

214: error: previous definition of 'RAD_STOPPED ' was here
129: error: redeclaration of enumerator 'RAD_STOPPED '
Run Code Online (Sandbox Code Playgroud)

是的,两个枚举的内容是相同的,但名称不同,所以我不明白为什么会出现这个问题。请注意,包含这些枚举的两个头文件都是自动生成的,因此我无法更改它们的内容。

c enums scope compiler-errors redeclaration

2
推荐指数
1
解决办法
1231
查看次数

标签 统计

c ×1

compiler-errors ×1

enums ×1

redeclaration ×1

scope ×1