我在我的類的頭頂部定義一個枚舉: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