|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2003-02-24 20:04:40
Daniel Frey <d.frey_at_[hidden]> writes:
> 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?
ADL strikes again!
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk