The following reply was made to PR c++/10261; it has been noted by GNATS. From: "Giovanni Bajo" To: , , , , Cc: Subject: Re: c++/10261: g++ does not error for bogus |typename| inside a templated class Date: Mon, 7 Apr 2003 12:27:45 +0200 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&p r=10261 Not a bug. ยง14.6p5: "The keyword typename shall only be used in template declarations and definitions [...] The keyword typename shall only be applied to qualified names, but those names need not be dependent." In other words, you cannot use 'typename' outside templates. You cannot use 'typename' with unqualified names. You can use 'typename' for non-dependent qualified names (but it's not necessary). You must use 'typename' with dependent qualified names. Giovanni Bajo