2013-12-09 3 views
0

У меня есть этот ЬурейиЙ:ЬурейеГо с таким же именем в разных классах Objective-C

//MyClass_1.h 

typedef enum 
{ 
    edit, 
    copy, 
    paste 
} textAction; 

и когда я хочу это ЬурейиЙ в MyClass_2.h:

//MyClass_2.h 

typedef enum 
{ 
    edit, 
    copy, 
    paste 
} textAction; 

У меня есть ошибка: TYPEDEF переопределение с types ('enum textAction' vs 'enum textAction'). В MyClass_2.h я не использовал #import MyClass_2 !!! Почему у меня эта ошибка?

+1

оба имеют одинаковое значение, так что вы можете использовать тот, который уже создан. – Vinodh

+0

Почему вы должны определить это в обоих файлах? Разве вы не можете просто сделать это в Constants.h и '# import' в обоих местах? –

+0

Так typedef enum {edit, copy, paste} textAction; является глобальной операцией? – rubik

ответ

2

использование того же перечисления в обоих классах. введите enum в файл .h и включите его в оба других .h таким образом, то же самое перечисление подготовлено для компилятора.

способ, которым вы его используете, это 2 разных (но одинаковых) перечисления для компоновщика/компилятора и прочее.

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