This is the mail archive of the egcs@egcs.cygnus.com mailing list for the EGCS project. See the EGCS home page for more information.


[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index] [Subject Index] [Author Index] [Thread Index]

Re: Suspected template parsing bug.




> The following declaration gets a "parse error before '<'" that appears to
> be spurious:
> 
> static X &transform (const BinOp &op,
>                      X &x,
>                      typename math_traits<
>                        typename X::rebind<
>                          typename __ref_remover<
>                            typename BinOp::second_argument_type
>                          >::value_type
>                        >::other
>                      >::pass_type y) throw ();

You may well have found a bug, but without a complete program (where are
X, math_traits, rebind, etc defined?) no one will be able to debug the
problem.  Please resend with a complete program (preprocessor output
from the file you're trying to compile is one possibility).

> As you can see, all the aggressive "typename"ing in the world to qualify
> what template args are types doesn't prevent the error message.

The typename keyword will probably not make a difference in this case,
since this is not a template definition.