可能重复:
Can an objective C method signature specify an enum type?
“VoiceName”是一个枚举,声明如下:
enum VoiceName {
PAD_RHYTHM,
PAD_RHYTHM2,
PAD_RHYTHM3,
PEEPERS,
ATMOSPHERE,
IMPULSE,
FAST_PULSE,
HAIRYBALLS_PADS,
KICK
};
编译器似乎不喜欢我在这样的方法签名中使用它:
-(void)pulseFiredWithSamplePosition:(float)position from: (VoiceName) voiceName;
它在'VoiceName'之前告诉我 expect')'。这是怎么回事?
答案 0 :(得分:5)
您必须将其称为enum VoiceName
:
-(void)pulseFiredWithSamplePosition:(float)position from: (enum VoiceName) voiceName;
或者你可以输入它:
typedef enum {
/* ... */
} VoiceName;
然后您可以将其称为VoiceName
。
答案 1 :(得分:0)
请记住这是Objective- C ,它需要来自:(enum VoiceName)voiceName。
如果您不想说enum
,可以使用typedef。