Boost logo

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