关于menu_selector菜单类函数回调的问题

关于菜单类当中的回调函数,在CCObject中是如下定义的。

typedef void (CCObject::*SEL_MenuHandler)(CCObject*);
#define menu_selector(_SELECTOR) (SEL_MenuHandler)(&_SELECTOR)//正常运行,this为CCLayerColor,CCMenuItemImage *pCloseItem = CCMenuItemImage::create("CloseNormal.png","CloseSelected.png", this,menu_selector(HelloWorld::menuCloseCallback));

但如果是 create(“CloseNormal.png”,“CloseSelected.png”, OtherObjectChild,menu_selector(OtherObjectChild::menuCloseCallback))
或者 create(“CloseNormal.png”,“CloseSelected.png”, CCLayerColorChild,menu_selector(OtherObjectChild::menuCloseCallback))
都会异常退出。如果正确使用回调函数,应该如何继承父类?

下面的两种方式都是没有问题的,只是要注意target和selector要对应。楼主可以贴下代码。

从seletor的定义也可以看出是不区分本类或者其他类的。