
23 Dec
2008
23 Dec
'08
9:36 a.m.
If I have: class Base { }; class Derived : public Base { }; And a container, e.g.: std::vector<boost::shared_ptr<Base> > objs; How do I downcast to a shared_ptr<Derived>? E.g.: boost::shared_ptr<Derived> d = (boost::shared_ptr<Derived>)objs[0]; I have a function that takes a shared_ptr<Derived> and all I have is a shared_ptr<Base>. I don't mind static_cast behavior, although dynamic_cast behavior would be ideal. Thanks, Jason