以下代码会导致“'testf'的冲突类型”。有人有想法吗?
·H:
#import <UIKit/UIKit.h>
@interface RootViewController : UITableViewController {
}
@end
的.m:
#import "RootViewController.h"
@implementation RootViewController
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *testString=testf(1);
}
NSString* testf(int x){
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd.MM.yyyy"];
NSString *infstr=[dateFormatter stringFromDate:[[NSDate date] dateByAddingTimeInterval:(60*x)]];
[dateFormatter release];
return infstr;
}
- (void)dealloc
{
[super dealloc];
}
@end
虽然这是我原始代码的精简版,但它也不起作用。
确切的错误是“'testf'的冲突类型”。还有一些警告,包括“隐含的功能声明'testf'在C99中无效”。
提前致谢。
答案 0 :(得分:7)
在调用它之前,你需要在某个地方声明testf函数的原型:
NSString* testf(int x);
要么在.h中,要么在.m
中答案 1 :(得分:1)
您声明testf
(在标题中,或在同一文件中较早)与您在此处列出的实现不匹配。