目标C:初始化构造函数时出错

时间:2014-08-13 21:34:35

标签: objective-c constructor initialization

Objective C的新手 - 现在正在构建构造函数,并且无法在没有错误的情况下完成它。除了初始化之外,我认为我已经完成了所有工作。谢谢你的期待。

我得到的错误:

  
      
  1. main.m:在函数中 - [Person initWithInfo:weight:gender:]:   main.m:46:9:错误:打印未声明(首次使用此功能)    - (void)print {        ^

  2.   
  3. main.m:46:9:注意:每个未声明的标识符仅报告一次   对于每个函数,它出现在main.m中:46:15:错误:预期;之前   {令牌    - (无效)打印{

  4.   
  5. main.m:85:1:错误:输入结束时的预期声明或声明   }

  6.   


#import <Foundation/Foundation.h>

@interface Person : NSObject {

int age, weight;
NSMutableString * gender;

}

-(id) initWithInfo : (int) a
weight: (int) w
gender: (NSString *) s;

-(void) print;

-(void) setAge : (int) a;
-(void) setWeight : (int) w;
-(void) setGender : (NSString *) s;

-(int) getAge;
-(int) getWeight;
-(NSString *) getGender;

@end

@implementation Person

-(id) initWithInfo : (int) a
weight: (int) w
gender: (NSString *) s{

self = [super init];

if (self)
{
self.weight = w;
self.age = a;
self.gender = s;

}

return self;


-(void) print {
NSLog(@"You are %d years old, weight %d pounds, and are a %@.", age, weight, gender);
}

-(void) setAge : (int) a{
age = a;
}
-(void) setWeight : (int) w{
weight = w;
}
-(void) setGender : (NSString *) s{
gender = [[NSMutableString alloc] initWithString : s];
}

-(int) getAge{return age;}
-(int) getWeight{return weight;}
-(NSString *) getGender{return gender;}

@end

int main(){

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

Person * Leo = 

[ [Person alloc] 

initWithInfo : 28
weight: 200
gender: @"Male"];

//[Leo print];


[pool drain];

return 0;

}

1 个答案:

答案 0 :(得分:1)

你的

之后似乎错过了一个结束括号
-(id) initWithInfo : (int) a 
weight: (int) w
gender: (NSString *) s{

功能。

return self;

然后没有结束括号。放一个&#34;}&#34;应该这样做。

相关问题