Package: g++-3.3 Version: 1:3.3.2-0pre5.0.1 Severity: normal Tags: sid The following code shows that g++ reports a syntax error if the method-call is inside a template-function but not if it's inside a normal function:
-- snip -- #include <iostream> template <int dim> class Entity { public: template <class T> void print(T& bla) { std::cout << bla;}; template <int i> int test() { return i; } int other() { return 1; } }; void foo1() { Entity<1> e; // everything works e.other(); e.print("test"); e.test<1>(); }; template <int dim> void foo2() { Entity<dim> e; // works like above e.other(); e.print("test"); // fails with syntax error e.test<1>(); }; int main () { }; -- snip -- riff /tmp> g++ -Wall temptest2.cc temptest2.cc: In function `void foo2()': temptest2.cc:33: error: syntax error before `)' token The Intel compiler processes the code without any error (only warnings because he doesn't like the extra semicolons). Cheers Thimo -- System Information: Debian Release: testing/unstable Architecture: alpha Kernel: Linux riff 2.4.22riff #1 Mo Sep 29 22:54:24 CEST 2003 alpha Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] Versions of packages g++-3.3 depends on: ii gcc-3.3 1:3.3.2-0pre5.0.1 The GNU C compiler ii gcc-3.3-base 1:3.3.2-0pre5.0.1 The GNU Compiler Collection (base ii libc6.1 2.3.2-8 GNU C Library: Shared libraries an ii libstdc++5-3.3-dev 1:3.3.2-0pre5.0.1 The GNU Standard C++ Library v3 (d -- no debconf information