删除其中一个实例将使您摆脱编译器错误。
#import<Foundation/Foundation.h>
@interface Ravi:NSObject
{
int a,b,c;
}
@property int a;
@property int b;
@property int c;
-(void)setValue:(int)x :(int)y;
-(int)getValue;
@end
@implementation Ravi
@synthesize a;
@synthesize b;
@synthesize c;
-(void)setValue:(int)x :(int)y
{
c = x + y;
}
-(int)getValue
{
NSLog(@"value of c is : %d",c);
return 0;
}
@end
int main()
{
Ravi * myobj=[[Ravi alloc]init];
[myobj setValue:23 :23];
[myobj getValue];
return 0;
}
@interface Krishna:NSObject
-(void)mymethod;
@end
@implementation Krishna
-(void)mymethod
{
Ravi * myobj=[[Ravi alloc]init];
myobj.a = 50;
myobj.b = 50;
myobj.c = myobj.a+myobj.b;
NSLog(@"krishna value of c is : %d",myobj.c);
}
@end
int main()
{
Krishna * obj=[[Krishna alloc]init];
[obj mymethod];
return 0;
}
我正在学习objective c,我的电脑上没有xcode。我喜欢这个在线objective - c教程。我使用的是GNU GCC 4.7.2版本。当我试图将一个类的变量调用到另一个类时。我得到这个错误"redefinition of ' main ' "
您曾经将main()
定义为
int main()
{
Ravi * myobj=[[Ravi alloc]init];
[myobj setValue:23 :23];
[myobj getValue];
return 0;
}
…,然后重新定义为:
int main()
{
Krishna * obj=[[Krishna alloc]init];
[obj mymethod];
return 0;
}