2010-10-03 84 views
0

我不確定這個setter函數聲明有什麼問題,因爲同一個類中的其他setter函數具有相同的語法,並且它們不會導致錯誤。我認爲這可能是在這個聲明之前的語法錯誤,但我也檢查過這些,似乎無法找到原因。下面是代碼:';'之前的預期標識符令牌在objective-c

#import <Foundation/Foundation.h> 


@interface PolygonShape : NSObject { 

} 

@property int numberOfSides; 
@property int minimumNumberOfSides; 
@property int maximumNumberOfSides; 
@property (readonly) float angleInDegrees; 
@property (readonly) float angleInRadians; 
@property (readonly) NSString *name; 

-(void)setNumberOfSides:(int); // Error: expected idenitifier before ';' token 
-(void)setMinimumNumberOfSides:(int); 
-(void)setMaximumNumberOfSides:(int); 

-(id)initWithNumberOfSides:(int)sides minimumNumberOfSides:(int)min maximumNumberOfSides:(int)max; 
-(id)init; 

-(float)angleInDegrees; 
-(float)angleInRadians; 

-(NSString*)name; 

-(NSString*)description; 

@end 

我還以爲這可能是因爲我在合成實施的功能,但我這樣做,既setMinimumNumberOfSides和setMaximumNumberOfSides爲好。如果您需要執行代碼以幫助解決此問題,請發表評論,我很樂意發佈。

回答

9

您是否嘗試添加參數名稱?

-(void)setNumberOfSides:(int)sides; 
-(void)setMinimumNumberOfSides:(int)sides; 
-(void)setMaximumNumberOfSides:(int)sides; 
+0

確實。與ANSI C的函數聲明相比,不能刪除參數名稱。 – Yuji 2010-10-03 22:23:10

+0

啊,謝謝,我實際上正在參加一個網絡課程,我們專門用C語言編程,因此可能出現混淆。謝謝! – Andrew 2010-10-03 22:26:44

+0

@Boontz:你應該接受這個答案,因爲它是正確的。 – JeremyP 2010-10-04 09:25:29

相關問題