|
Boost : |
From: Beman Dawes (bdawes_at_[hidden])
Date: 2003-02-24 21:07:34
At 07:32 PM 2/24/2003, Daniel Frey wrote:
>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?
Go ahead and make the change, unless someone voices an objection.
I'm wondering how may other places we have similar problems?
Is there any programatic way to detect them?
--Beman
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk