On Fri, 15 Mar 2002, Jon Kalb wrote:
kalb> > struct A
kalb> > {
kalb> > typedef
kalb> > filter_iterator_generator::type
kalb> > active_iterator;
kalb>
kalb>
kalb> CodeWarrior doesn't complain about this code, but I think that it should be:
kalb>
kalb> typedef typename
kalb> filter_iterator_generator::type
kalb> active_iterator;
"typename" is required when the type of the left-hand side of the "::" is
somehow dependent on a template parameter, which is not the case in the
above code.
Also, "typename" is not allowed when the left-hand side is not dependent
on a template paraemter, so adding "typename" to the above code results
in an illegal program.
Cheers,
Jeremy
----------------------------------------------------------------------
Jeremy Siek http://php.indiana.edu/~jsiek/
Ph.D. Student, Indiana Univ. B'ton email: jsiek@osl.iu.edu
C++ Booster (http://www.boost.org) office phone: (812) 855-3608
----------------------------------------------------------------------