在CCKeypadDelegate.cpp文件中,有这样一句关于dynamic_cast的引用
dynamic_cast<CCObject*>(m_pDelegate)->release();
其中,m_pDelegate的声明如下:
class CC_DLL CCKeypadDelegate
{
public:
virtual void keyBackClicked() {}
virtual void keyMenuClicked() {}
};
这里的m_pDelegate并不是CCObject的子类,这样使用程序会崩溃的吧。
难道实际上这些代码在cocos2d-x中是没有使用的吗?
诶,看懂了,原来传递进来的参数都是通过多重继承同时继承CCKeypadDelegate和CCObject的。