【发布时间】:2013-01-28 11:23:25
【问题描述】:
我使用spiffy new NS_ENUM 尝试在我的objective-c iOS 项目中定义一个枚举。
我在类的标题中声明 NS_ENUM,如下所示:
NS_ENUM(int, SomeEnumType){
SomeEnumType1,
SomeEnumType2,
SomeEnumType3,
SomeEnumType4
};
@interface Issue : NSObject
....
我收到编译器警告:
ISO C 禁止前向引用“枚举”类型
现在,如果我将枚举定义为(稍微)旧的传统方式,如下所示:
typedef enum{
SomeEnumType1,
SomeEnumType2,
SomeEnumType3,
SomeEnumType4
}SomeEnumType;
@interface Issue : NSObject
....
在代码中完全相同的位置问题消失了。我在 NS_ENUM 上做错了什么?
编辑:
我通过添加 typedef 来纠正它,但它仍然给出警告。
我打开了迂腐的编译器警告。这只是它过于迂腐的情况还是我缺少正确的方法?
【问题讨论】:
-
将它们放在头文件中,以便所有需要它们的文件都可以访问头文件并使用其中的声明。
-
它在标题中。它在问题类的头文件中。
标签: iphone objective-c c enums compiler-warnings