2013-08-17 10 views
-3

Привет, я пытаюсь изучить Objective C, я пытаюсь написать код, который аналогичен учебнику, но я не мог запустить программу.Ошибка сборки: ожидаемая ошибка идентификатора

В нем указано Ожидаемый идентификатор для NSAutoreleasePool * pool= [[NSAutoreleasePool alloc]]; Что не хватает в моем коде?

#import <Foundation/Foundation.h> 

    @interface Person : NSObject 
    { 
     int age; 
     int weight; 
    } 
    -(void) print; 
    -(void) setAge : (int) a; 
    -(void) setWeight : (int) w; 
    @end 

    @implementation Person 

    -(void) print{ 

     NSLog(@"His name is %i and his weight is %i" , age, weight); 

    } 
    -(void) setAge:(int)a { 
     age = a; 

    } 
    -(void) setWeight:(int)w { 
     weight=w; 

    } 

    @end 

    int main(int argc, const char * argv[]) 
    { 

     NSAutoreleasePool * pool= [[NSAutoreleasePool alloc]]; 
     Person *person; 

     person = [Person alloc]; 
     person = [person init]; 

     [person setAge : 24]; 
     [person setWeight:90]; 

     [person print]; 
     [person release]; 
     [pool drain]; 
     return 0; 
} 


} 
+0

Alloc и init всегда вложенный вызов - никогда не разделяйте. Это должно быть одной из первых вещей, которые нужно изучить (т. Е. Всегда делать '[[object alloc] init];' это также относится и к вашему личному объекту. – Mario

ответ

0

Вам не хватает сообщения в вашем внешнем наборе кронштейнов. Изменить на:

NSAutoreleasePool *pool= [[NSAutoreleasePool alloc] init]; 
Смежные вопросы