';'之前的预期标识符令牌在objective-c
问题描述:
我不确定这个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为好。如果您需要执行代码以帮助解决此问题,请发表评论,我很乐意发布。
答
您是否尝试添加参数名称?
-(void)setNumberOfSides:(int)sides;
-(void)setMinimumNumberOfSides:(int)sides;
-(void)setMaximumNumberOfSides:(int)sides;
确实。与ANSI C的函数声明相比,不能删除参数名称。 – Yuji 2010-10-03 22:23:10
啊,谢谢,我实际上正在参加一个网络课程,我们专门用C语言编程,因此可能出现混淆。谢谢! – Andrew 2010-10-03 22:26:44
@Boontz:你应该接受这个答案,因为它是正确的。 – JeremyP 2010-10-04 09:25:29