class Object { };
Class Derived : public Object { };
boost::shared_ptr<Object> mObject(new Derived); // Ok
Но как привести его к boost::shared_ptr<Derived>
?
Я пробовал что-то вроде: static_cast< boost::shared_ptr<Derived> >(mObject)
, и это не удалось.
Единственная рабочая идея:
boost::shared_ptr<Derived> res(new dynamic_cast<Derived*>(mObject.get()))