2011-03-11 67 views
0

以下代码导致“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中无效”。

在此先感谢。

回答

7

你需要的地方声明你testf函数的原型,调用前:

NSString* testf(int x); 

要么做,在.H,或在.M

+0

非常感谢! – fscheidl 2011-03-12 12:53:53

1

您的testf声明(在同一文件的头文件或更早版本中)与您在此处列出的实现不匹配。

+0

我是这么认为的在第一,但我刚刚接过一个新的空白项目并尝试了它 - 同样的错误。 – fscheidl 2011-03-11 23:23:29

+0

@Fsch:文件中包含哪些标题? – 2011-03-11 23:24:59

+0

除了RootViewController的声明之外什么都没有:UITableViewController – fscheidl 2011-03-11 23:27:38