|
Boost : |
From: shunsuke (pstade.mb_at_[hidden])
Date: 2007-05-31 05:13:36
Thorsten Ottosen wrote:
>> The rule seems complicated. :-(
>> This is because it requires two user-defined conversions?
>> generic_ptr_list -> operator auto_ptr() -> operator auto_ptr_ref() -> auto_ptr
>>
>> In the case of lvalue:
>> generic_ptr_list -> operator auto_ptr&() -> auto_ptr
>>
>> I hope a lawyer will look into this posting. :-)
>
> ME to.
>
> It's no secret that some compilers had problems with it, but if IIRC,
> comeau could do it.
I tried to compile this:
#include <memory> // auto_ptr
struct List
{
template< class X >
operator std::auto_ptr<X>() const;
};
int main()
{
std::auto_ptr<int> a = List();
}
msvc7.1, msvc8, gcc3.4, gcc4.1 and comeau-online all fails to compile.
Regards,
-- Shunsuke Sogame
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk