请教一个3.2版本中关于cc_callback_1的问题

请问当我RobotKnockOut是无参函数时,下面这样写是可以用的


oneRobot->runAction(Sequence::create(CallFunc::create(
                                                     CC_CALLBACK_0(GameLayer::RobotKnockOut, this)),
                                 Blink::create(1.5f,4),
                        NULL));

可是我RobotKnockOut现在需要一个参数 改成下面这样时就不能用了,请问问题出在哪呢,要怎么改才行


oneRobot->runAction(Sequence::create(CallFunc::create(
                                                     CC_CALLBACK_1(GameLayer::RobotKnockOut, this)),
                                 Blink::create(1.5f,4),
                        NULL));

下面是生成时候的信息


1>          e:\gamemake\cocos2d-x-3.2\cocos2d-x-3.2\pompadroid\classes\gamelayer.cpp(142): 参见对正在编译的类 模板 实例化“std::_Bind<_Forced,_Ret,_Fun,_V0_t,_V1_t,_V2_t,_V3_t,_V4_t,_V5_t,_V6_t,_V7_t,_V8_t,_V9_t,_V10_t,<unnamed-symbol>>”的引用
1>          with
1>          
1>              _Forced=true,
1>              _Ret=void,
1>              _Fun=std::_Pmf_wrap<void (__thiscall GameLayer::* )(ActionSprite *),void,GameLayer,ActionSprite *,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,
1>              _V0_t=GameLayer *const ,
1>              _V1_t=std::_Ph<1> &,
1>              _V2_t=std::_Nil,
1>              _V3_t=std::_Nil,
1>              _V4_t=std::_Nil,
1>              _V5_t=std::_Nil,
1>              _V6_t=std::_Nil,
1>              _V7_t=std::_Nil,
1>              _V8_t=std::_Nil,
1>              _V9_t=std::_Nil,
1>              _V10_t=std::_Nil,
1>              <unnamed-symbol>=std::_Nil
1>          ]
1>
1>生成失败。

//可以写成这样的
CallFuncN* func = CallFuncN::create(CC_CALLBACK_1(Block::propDealCallBack,this,_prop));
Sequence* seque = Sequence::create(DelayTime::create(_prop->getActionTime()),func,NULL);

void propDealCallBack(Ref* _balloon,PropChangePhysics* data){}