我无法编译我,因为我的标题中出现此错误:
错误:预期标识符[1]
- (void)removeAllEntitiesOfClass:(Class)class;
指示符指向小写类。
删除此功能会使其再次编译。
我的类是NSObject的子类,它有公共方法使用Class,所以我认为这会自动声明。
我也尝试将Class更改为Class *并使用@Class Class转发声明,但这不起作用 - 它说它是重新定义,因为我正在更改类型。显然,Class是一个typedef'd结构指针。我不确定如何在这里转发声明,我似乎记得转发声明指针typedef可能是令人讨厌的事情。如果我错了,请纠正我,告诉我要导入哪个文件或如何转发声明。
@interface GameState : NSObject {
...
}
...
-(void) removeAllEntitiesOfClass:(Class)class;
@end
答案 0 :(得分:2)
我怀疑你的标题在Objective-C ++翻译中是可见的。在C ++中,class
是一个关键字。要解决此问题,请将参数的名称从class
更改为某个非关键字。