https://gcc.gnu.org/bugzilla/show_bug.cgi?id=40261
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2009-08-25 15:42:13 |2017-2-15 Known to fail| |4.4.0, 5.3.0, 6.3.0, 7.0 --- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> --- No change in GCC 7. For reference, other compilers print: Clang 5.0: t.C:4:31: error: nested name specifier 'B<T>::' for declaration does not refer into a class, class template or class template partial specialization template <class T> void B<T>::foo () { } ~~~~~~^ EDG eccp 4.11: "t.C", line 4: error: template argument list must match the parameter list template <class T> void B<T>::foo () { } ^ Oracle CC: "t.C", line 4: Error: Cannot define member of undefined specialization "B<T>". 1 Error(s) detected. IBM XLC++: "t.C", line 4.25: 1540-0708 (S) The template argument 2 does not match the corresponding template parameter of "template struct B".