Не понимаю причину ошибки компиляции «Ожидается тип» в объявлении метода, когда тип определен - PullRequest
8 голосов
/ 08 февраля 2012

Этот код не компилируется и генерирует сообщение об ошибке «Ожидается тип».Поскольку тип объявлен прямо выше, я не понимаю, почему.

enum TMyType
{
    Etype1,
    Etype2
};

@interface Factory : NSObject

+ (void) foo: (TMyType) actionType;

@end

Ответы [ 2 ]

7 голосов
/ 08 февраля 2012

Чтобы определить пользовательский тип, правильный путь - с помощью typedef.

Try ...

typedef enum 
{
    Etype1,
    Etype2
} TMyType;

EDIT: Вскоре после того, как этот вопрос был задан и получен ответ, Apple предложила новый способ работы с перечисленными типами данных. Вот углубленная статья об этом.

typedef NS_ENUM(NSInteger, TMyType) {
    Etype1,
    Etype2
};
3 голосов
/ 08 февраля 2012
+ (void) foo: (enum TMyType) actionType;

или используйте .mm (и пометите вопрос с помощью objective-c++).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...