c++/10261: g++ does not error for bogus |typename| inside a templated class

Giovanni Bajo giovannibajo@libero.it
Mon Apr 7 10:27:00 GMT 2003


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

More information about the Gcc-bugs mailing list