“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' 之前应该是 ')'。这里发生了什么?
最佳答案
你不能像那样“裸”地使用它而不指定它是一个枚举:
-(void)pulseFiredWithSamplePosition:(float)position from: (enum VoiceName) voiceName;
应该管用。如果你想避免这样指定它,你可以 typedef 它:
typedef enum _VoiceName {
PAD_RHYTHM,
....
} VoiceName;
那么您将能够仅使用
VoiceName
作为参数类型。关于objective-c - 客观 C 方法签名可以指定枚举类型吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3723138/