Boost logo

Boost :

From: Daniel Frey (d.frey_at_[hidden])
Date: 2003-02-24 19:32:41


Hi,

I came across the following problem:

When I have a class X which lives in a namespace where there's a function
'checked_delete' declared that can take a X*, smart_ptr (and probably others)
that use checked_deleter (note the 'r'!) cannot call checked_delete. It's
ambiguous due to argument dependent lookup. To fix it, I had to make the
call to checked_delete in checked_deleter qualified:

template<class T> struct checked_deleter
{
    typedef void result_type;
    typedef T * argument_type;

    void operator()(T * x) const
    {
        ::boost::checked_delete(x);
    }
};

(alas for checked_array_deleter)

Comments?

Regards, Daniel


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk