Bug when parsing template-functions?
Thimo Neubauer
thimo@debian.org
Mon Nov 17 16:46:00 GMT 2003
Am 17.11.2003 um 16:03 schrieb Nathan Sidwell:
> Thimo Neubauer wrote:
>
> >template <int dim>
> >void foo2() {
> > Entity<dim> e;
> >
> > // works like above
> > e.other();
> > e.print("test");
> >
> > // fails with syntax error
> > e.test<1>();
> e.template test<1> ();
>
> e's type is dependent, so at parse time 'test' is presumed to be not a
> template and thus the '<' is a less than operator, rather than starting
> a template argument list.
Thanks for your info. Is there any way to resolve this ambiguity? If I
understand the Stroustrup correctly, the < has to be interpreted as
the start of template-arguments if the identifier before it is a
template-name.
Should I file a bug to gcc or do I have to rewrite the program? Right
now we have to use the Intel "icc" to get our project working and I'd
very much like to change that...
Cheers
Thimo
More information about the Gcc-help
mailing list