无法从“void (__thiscall XXX::* )(void)”转换为“cocos2d::SEL_SCHEDUL 错误总结

来源:互联网 发布:java程序员面试指南 编辑:程序博客网 时间:2024/06/05 23:39

在使用计时器sechedule时,发现编译器报出 无法从“void (__thiscall HelloWorld::* )(void)”转换为“cocos2d::SEL_SCHEDUL 错误,经过检查,发现是因为参数不对。

如:

this->schedule(schedule_selector(HelloWorld::ShowAttackRange), 5.0f);

。。。

void HelloWorld::ShowAttackRange(ccTime dt)
{
CCLOG("aaaa");
}

每5秒调用一次ShowAttackRange函数,此时会报出如题的错误。

解决方案:

只需在ShowAttackRange函数中将参数ccTime dt 更改为 float interval 即可。也可能因为版本的问题,导致代码不同,右键函数转到定义查看其参数是个很好的解决方法。

原创粉丝点击