As well as various versions of Visual C++ being snippy, there are rare
scenarios where Borland (5.5 / 5.6) choke on it as well (discovered in
non-boost-based code).

Matthew

"John Maddock" <[EMAIL PROTECTED]> wrote in message
004f01c2af2b$9c6deee0$716787d9@1016031671">news:004f01c2af2b$9c6deee0$716787d9@1016031671...
> > I have two questions about the use of the typename-keyword when using
> > template-parameter dependent types.
> >
> > 1. Consider the following code:
> >
> >     template< class T >
> >     {
> >         typedef typename A::foo t;
> >     };
> >
> > IIRC there are some compilers that only compile the above without the
> > typename keyword? Is that correct (I only have the Intel and GCC
compilers
> > at hand, so I can't check)
>
> Boost code always uses the typename: there are no current compilers that
> don't support it IMO.
>
> > 2. Can the BOOST_STATIC_CONSTANT macro deal with the following?
> >
> >     template< class T >
> >     {
> >         BOOST_STATIC_CONSTANT( typename T::foo, bar = T::value );
> >     };
> >
> > i.e. the extra typename keyword?
>
> Um I hope so, but why not typedef the typename first which removes the
> problem?
>
> John Maddock
> http://ourworld.compuserve.com/homepages/john_maddock/index.htm
>
>
> _______________________________________________
> Unsubscribe & other changes:
http://lists.boost.org/mailman/listinfo.cgi/boost
>




_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to