我有:
std::function<void(EventCustom*)> f = std::bind( &MyClass::MyFunc, myObj, _1 );
以上代码在我的代码中始终使用,但是代替MyClass的可能是MyClass2,MyClass3,myObj3,myObj2等,代替了MyClass和myObj
是否可以通过某种方式将以上内容包装到函数中?我遇到的问题是,除非我完全按照上面的方式使用代码,否则bind的输出不会完全创建std :: function,因此编译器会抱怨。
EventCustom *是cocos2d-x库中使用的对象。因此,如果您下载并构建了cocos2d-x项目,则可以使用它。
答案 0 :(得分:1)
lambda呢?
std::function<void(EventCustom*)> f = [&myObj2](EventCustom* pEvent) {
myObj2.MyFunc(pEvent);
};