1、 error C2440: “类型转换”: 无法从“void (__thiscall HelloWorld::* )(void)”转换为“cocos2d::SEL_MenuHandler”
1> 指向成员的指针有不同的表示形式;无法在它们之间进行类型转换
在mac的xcode下运行正常,在win的vs2010下出现如下异常:
error C2440: “类型转换”: 无法从“void (__thiscall HelloWorld::* )(void)”转换为“cocos2d::SEL_MenuHandler”
1> 指向成员的指针有不同的表示形式;无法在它们之间进行类型转换
无参的方法调用出错
注意:在在win的vs2010下编译cocos2Dx,无参的函数也应该加一个参数CCObject* pSender
这样写
void HelloWorld::callback_hello(CCObject* pSender);
调用时,偏偏这样调用:
CCMenuItemFont *itemFont = CCMenuItemFont::create("StartGame",this,menu_selector(HelloWorld::callback_hello));
本文解决了一个在Cocos2d-x中遇到的类型转换错误问题,该问题出现在VS2010环境下,涉及到成员函数指针与SEL_MenuHandler之间的转换失败。文章详细解释了错误原因,并给出了修复方案。

499

被折叠的 条评论
为什么被折叠?



