he definido una enumeración en la parte superior de mi cabecera de la clase:Objective-C error de enum?
enum PresetSeq{kSeqClear=0, kSeqAllBeats, kSeqAllTicks};
Pero cuando trato de declarar un método para esa clase mediante la enumeración.
-(void)quickSetSeq:(PresetSeq)pattern forChannel:(long)ch;
me sale el error: se esperaba ')' antes 'PresetSeq'
Si typedef enum el lugar:
typedef enum {kSeqClear=0, kSeqAllBeats, kSeqAllTicks} PresetSeq;
A continuación, el compilador es feliz, pero no me acuerdo tener que hacer eso en C/C++.
No tienen por qué ser las enumeraciones de typedef en Obj-C?
Gracias
Steve
P. S. - Vi otras publicaciones sobre Obj-C enums, pero no por qué este simple caso falla.
Gracias por la explicación. ¿Sabes por casualidad que si se omiten las sintaxis typedef y enum es legal en C++? Tengo un viejo código de C++ que parecía aceptarlo – Steve555
Sí, omitir 'struct' y' enum' (o no 'typedef'ing' struct's y 'enum's) es perfectamente legal C++. Como está agregando la etiqueta 'struct' o' enum'. –
Gracias Max, eso explica mucho de lo que estoy viendo en el código anterior. – Steve555