是不是可以在C ++类中引用Objective C协议?在
(id)<B2ContactListener> _B2ContactListener;
行导致两个错误:
'预期;在声明清单的末尾'
和
' C ++需要所有声明的类型说明符'。
这是代码。
B2_ContactListener.mm:
#import "Box2D.h"
#import "B2_ContactListener.h"
class ContactListener : public b2ContactListener
{
private:
(id)<B2ContactListener> _B2ContactListener; // ERRORs
public:
//Methods
};
B2_ContactListener.h:
#import "B2_Contact.h"
@protocol B2ContactListener
-(void)B2BeginContact: (B2Contact*) contact;
@end
我正在使用当前的XCode编译器BTW。
答案 0 :(得分:1)
删除括号:
id<B2ContactListener> _B2ContactListener;
这应该有效。
您可能想要考虑的另一件事是将其改为NSObject *
,这样您就可以调用从NSObject
继承的方法而无需强制转换。