Boost logo

Boost Users :

From: Zhuo Hao (hzhuo1_at_[hidden])
Date: 2006-07-14 01:27:45


In file <boost/shared_ptr.hpp>, I find the following function:
/begin quote
template<class Y, class D> shared_ptr(Y * p, D d): px(p), pn(p, d)
    {
        detail::sp_enable_shared_from_this( pn, p, p );
    }
/end quote
If I use it as follows:"boost::shared_ptr<Investment>
pInv(0,getRidOfInvestment)",it will not compile.But when I
use:"boost::shared_ptr<Investment>
pInv(static_cast<Investment*>(0),getRidOfInvestment)",it can be compiled.
The constructor's first parameter is Y*,i.e.,a pointer to Y.And 0 can be
interpreted as a pointer to Y,too. Why can't zero be treated as a pointer
to Y here?

I will be appreciative if anyone can give me some suggestions.Thank you!

hzhuo
July,14th



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