2010-06-04 9 views
0

я определил новый тип с этим кодомИспользование пользовательского типа (с ЬурейиМ) в качестве параметра метода

typedef enum result 
{ 

    error, 
    error1, 
    erorr2, 

}result; 

После того, что я хочу реализовать метод, который принимает «результат» в качестве параметра

- (void) setError:(result)errorNumber 

Похоже, что это запрещено и дайте мне ошибку компилятора.

Невозможно использовать определенный пользователем тип как параметры метода?!?

+0

Pleeeease вы можете сообщить нам, что такое ошибка? – JeremyP

+0

Я переместил tyoedef в файл префикса, и все правильно работает – Luca

ответ

2

Перед тем, как использовать его, необходимо импортировать файл заголовка, содержащий typedef. Например:

File1.h:

typedef enum { a, b, c } resultType; 

File2.h:

#import "File1.h" 

... 


- (void) someMethod:(resultType)param; 

File1.h могут быть импортированы в качестве многих заголовков (или реализация) файлов, как вам нужно.

+0

извините, напишите об ошибке - (void) setTError: (result) errorNumber; но и в этом случае он возвращает мне ошибку – Luca

+0

@Luca Где ваш typedef? Это в одном файле? Что такое сообщение об ошибке компилятора? –

+0

Ошибки complier сравниваются, только если я пытаюсь использовать параметр объявления определенного пользователем метода в другом .h файле. Я импортировал файл .h с объявлением типа ... невозможно использовать это в другом файле, чтобы импортировать заголовок с помощью typedef? спасибо – Luca

Смежные вопросы