http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45975
Summary: template keyword is not allowed, however, accepted by g++ Product: gcc Version: 4.5.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: mschu...@ivs.cs.ovgu.de Look at the following code snippet template<int a> struct A { static const int value; }; template<int a> const int A< a>::template value = 0; ^^^^^^^^ This template keyword is not allowed, because value is not template by itself but g++ accept this code without any complaints.