spDeriveDown= dynamic_pointer_cast<CDerive>(spBaseDown);if(spDeriveDown == NULL)//由于会进行类型的检查,这边是返回NULLcout <<"spDeriveDown is null"<<endl;/*shared_ptr<CDerive> spDeriveDown; shared_ptr<CBase> spBaseDown; spBaseDown = make_shared<CDerive>(); spDeriveDown = dynamic_po...
我正在使用boost :: shared_ptr和boost :: dynamic_pointer_cast。我有一个基类,一个继承自该基类的接口,然后是一个继承自该基类的类。 所以A - > B - > C.我创建了一个C类型的对象,并将其存储为A类型的shared_ptr。然后我尝试使用dynamic_pointer_cast来键入B,但boost :: dynamic_pointer_cast返回NULL。