2011-03-11 84 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