在我的项目中,我有一个假设的场景:
3)在childClass Init函数中,我dynamic_cast用来将IFlow的objet转换为BaseClass,如下所示:
void ChildClass::init()
{
IFlow* pFlow = someMethod(); //it returns the IFlow object pointer
//this works for static cast but fails for dynamic cast
BaseClass *base = dynamic_cast<BaseClass*>(pFlow) ;
}
Run Code Online (Sandbox Code Playgroud)在上面的代码中,第二行dynamic _cast返回零,但如果dynamic_cast更改为static_cast则代码按预期工作.请指教