------- Comment #3 from debian dot templier at free dot fr  2009-12-05 10:58 
-------
missing in analyse of possible constructor :
template <  typename X , typename XT2 = T , typename X2 = typename XT2 :: X >
SMART(SMART<X> & value) : data(value.operator T* ()) {} ;

with X=A XT2=T X2=T::A (X2 is unherited constraint(B is public derived of A ),
XT2 is to delayed analyse of X2 at instanciation)

you must change the resolution state :

there is a probleme of matching with "typename X2 = typename XT2 :: X" =A then
find the constructor possible for analyse in gcc constructors matching miss

the reason is the scope "typename X2 = typename XT2 :: X" with X in "template <
 typename X ... " , i suppose X is not search in template parameter ...

bug 42296 replace 42272


-- 

debian dot templier at free dot fr changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|DUPLICATE                   |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42296

Reply via email to