我在我的类的头顶部定义一个枚举:Objective-C枚举错误?
enum PresetSeq{kSeqClear=0, kSeqAllBeats, kSeqAllTicks};
但是,当我试图声明使用枚举该类中的方法。
-(void)quickSetSeq:(PresetSeq)pattern forChannel:(long)ch;
我得到的错误: '之前PresetSeq'
如果我的typedef代替枚举预期 ')':
typedef enum {kSeqClear=0, kSeqAllBeats, kSeqAllTicks} PresetSeq;
那么编译器是幸福的,但我不记得必须在C/C++中这样做。
枚举必须是obj-C中的typedef吗?
感谢
史蒂夫
附: - 我看到有关Obj-C枚举的其他文章,但不是为什么这个简单的例子失败。
感谢您的解释。你可知道,如果忽略这两个类型定义和枚举syntac在C++中是合法的吗?我似乎接受它 – Steve555 2010-11-04 06:45:53
是,ommitting'struct'和'enum'(或不''typedef'ing和struct's'enum's)是完全合法的C++的一些旧的C++代码。正如添加'struct'或'enum'标签。 – 2010-11-04 06:59:02
谢谢最大,这解释了很多我所看到的旧代码。 – Steve555 2010-11-04 09:57:41