Boost logo

Boost Users :

Subject: [Boost-users] Problem with shared_ptr
From: Germán Diago (germandiago_at_[hidden])
Date: 2009-01-14 06:51:59


What's wrong with this code? When I push_back ptr to the vector, it pushes 0
instead of
the value contained in ptr (which I checked and is non-zero).

std::vector<boost::shared_ptr<BaseClass> > baseobjects =
get_base_objects(path);

    std::vector<boost::shared_ptr<DerivedClass> >
result(get_base_objects.size());
    BOOST_FOREACH (boost::shared_ptr<BaseClass> en, baseobjects)
    {
        boost::shared_ptr<DerivedClass> ptr =
boost::dynamic_pointer_cast<DerivedClass>(en);

        //Error when push_back. Instead of ptr, I get 0
        result.push_back(ptr);
    }

Thanks.



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net