设置setIsTouchEnabled 就要报异常

为什么一设置setIsTouchEnabled 就要报异常? 已经重载ccTouchBegan, ccTouchEnded, ccTouchCancelled, ccTouchMoved等函数

各文件代码
Story.h

public:
    virtual bool init();
    
    static cocos2d::CCScene* scene();
    
    LAYER_NODE_FUNC(Story);
    
    virtual void registerWithTouchDispatcher();
    
    /**
     @brief For phone event handle functions
     */
    virtual bool ccTouchBegan(CCTouch* touch, CCEvent* event);
    virtual void ccTouchEnded(CCTouch* touch, CCEvent* event);
    virtual void ccTouchCancelled(CCTouch *touch, CCEvent* event);
   virtual void ccTouchMoved(CCTouch* touch, CCEvent* event);
    

Story.m


void Story::registerWithTouchDispatcher()
{
    CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this, 1);
}

bool Story::ccTouchBegan(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)
{
    return true;
}

void Story::ccTouchEnded(cocos2d::CCTouch *touch, cocos2d::CCEvent *event)
{
    
}

void Story::ccTouchCancelled(cocos2d::CCTouch *touch, cocos2d::CCEvent *event)
{
    
}

void Story::ccTouchMoved(cocos2d::CCTouch *touch, cocos2d::CCEvent *event)
{
    
}

460

virtual bool ccTouchBegan(CCTouch* touch, CCEvent* event);
virtual void ccTouchEnded(CCTouch* touch, CCEvent* event);
virtual void ccTouchCancelled(CCTouch touch, CCEvent event);
这个是目标代理使用的,而setIsTouchEnabled 是设置标准代理,具体可参考:http://firedragonpzy.d3.tuidc.com/index.php/archives/84