最近对cc_callback 和 std::bind做了下学习研究,发现个纳闷的事情。
以cocos2dx 3.8.1的官方test项目为例:
BaseTest.cpp 中有这么一段
MenuItemLabel * MenuItemLabel::create(Node*label, const ccMenuCallback& callback)
ccMenuCallback的定义是这样的
typedef std::function<void(Ref*)> ccMenuCallback;
这不是个返回为空,带一个参数Ref*的函数么?而为什么实际上回调函数根本没有形参呢?
void TestBase::backsUpOneLevel()
{
if (_parentTest)
{
_parentTest->runThisTest();
this->release();
}
}
