C++ “这对”意味着什么;callfuncN“U选择器”;在Cocos2dx中?

C++ “这对”意味着什么;callfuncN“U选择器”;在Cocos2dx中?,c++,cocos2d-x,visual-studio-express,C++,Cocos2d X,Visual Studio Express,我想在VisualStudio中运行我的第一个项目,但正如您所看到的,它似乎有两个错误,我不知道它们是什么意思 void CCloud::Start(){ this->stopAllActions(); float currentX = this->getPositionX(); float distance = currentX - -(_xOffset); float time = distance / _pixelsPerSec; C

我想在VisualStudio中运行我的第一个项目,但正如您所看到的,它似乎有两个错误,我不知道它们是什么意思

void CCloud::Start(){

    this->stopAllActions();

    float currentX = this->getPositionX();
    float distance = currentX - -(_xOffset);
    float time = distance / _pixelsPerSec;
    CCPoint destination = ccp(-_xOffset, this->getPositionY());

    CCMoveTo *actionMove = CCMoveTo::create(time, destination);
    CCCallFuncN *actionMoveDone = CCCallFuncN::create(this, callfuncN_selector(CCloud::ReachedDestionation));

    this->runAction(CCSequence::create(actionMove, actionMoveDone, NULL));

}
这两个错误是:

错误1错误C2440:“类型强制转换”:无法从“void(\uu thiscall CCloud::*)(void)”转换为“cocos2d::SEL\u CallFuncN”

C:\Users\sergi\u 000\Downloads\cocos2d-x-2.2.3\projects\myfirstapp\Classes\CCloud.cpp 27 1 HelloCpp

错误2错误C2665:'cocos2d::CCCallFuncN::create':两个重载都无法转换所有参数类型

C:\Users\sergi\u 000\Downloads\cocos2d-x-2.2.3\projects\myfirstapp\Classes\CCloud.cpp 27 1 HelloCpp


如果有人能帮助我,我将非常高兴,谢谢

指向成员函数的指针与指向非成员函数的指针不同。指向成员函数的指针需要调用实例

通常的解决方案是,具有回调的库允许设置某种“用户数据”,然后可以将其设置为对象实例。然后创建一个回调包装函数,通常作为
静态
成员函数(可以用作普通的非成员函数指针),在该函数中获取用户数据,将其转换为正确的类,并调用您真正想要调用的函数


警告:我不知道cocos2d-x是否支持回调的用户数据。

就我而言,
\define callfuncN\u选择器(\u选择器)CC\u callfuncN\u选择器(\u选择器)
不推荐使用。你不应该使用它

另外,CCloud::ReachedDestination需要一个以CCNode*(也不推荐使用)作为输入的函数。检查在您的示例中是否正确,或者在这里发布源代码,这样我可以得到更好的答案


最后一点(但并非最不重要的一点)-一般来说,最好不要使用不推荐的方法,因为这通常意味着引擎有更好的机会。

您应该使用以下代码: