我是Objective-C的新手,在GNUstep和MinGW环境中工作。我正在编译此代码,但出现错误:
#import "Foundation/Foundation.h"
@interface C : NSObject
{
float f;
}
- (void) gamerHell: (NSString *) name : (NSString *) lastName ;
@end
@implementation C
- (void) gamerHell: (NSString *) firstName : (NSString *) lastName {
NSLog(@"Welcome, %s %s",firstName,lastName);
}
@end
int main(int argc , const char * argv[]){
NSAutoReleasePool * pool = [[NSAutoReleasePool alloc] init];
C *ob = [[C alloc] init];
[ob gamerHell: @"SHAN" : @"UL HAQ"];
[ob release];
[pool drain];
return 0;
}
它给出了这样的编译时错误:
'NSAutoReleasePool'未声明(首次在此函数中使用)
我该怎么做才能克服这个错误?
答案 0 :(得分:6)
尝试使用NSAutoreleasePool
代替NSAutoReleasePool
(使用小写r
)。
答案 1 :(得分:6)
Adam确定了您报告的问题,您在班级名称中输入了一个拼写错误。但是,你会遇到一些其他问题,我认为这有助于了解它。
- (void) hellowWithFirstName:(NSString*)firstName lastName:(NSString*)lastName;
我理解你是Objective-C的新手,这些对于刚学习语言的人来说都是常见的苦恼。因此,请将这些观点作为友好的建议,而不是严厉的批评。
答案 2 :(得分:0)
从
切换NSAutoReleasePool * pool = [[NSAutoReleasePool alloc] init];
到
NSAutoReleasePool *pool = [[NSAutoReleasePool alloc] init];
删除空格后*为我处理错误消息。