This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/10261: g++ does not error for bogus |typename| inside a templated class
- From: "Giovanni Bajo" <giovannibajo at libero dot it>
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 7 Apr 2003 10:36:01 -0000
- Subject: Re: c++/10261: g++ does not error for bogus |typename| inside a templated class
- Reply-to: "Giovanni Bajo" <giovannibajo at libero dot it>
The following reply was made to PR c++/10261; it has been noted by GNATS.
From: "Giovanni Bajo" <giovannibajo at libero dot it>
To: <gcc-gnats at gcc dot gnu dot org>,
<gcc-bugs at gcc dot gnu dot org>,
<nobody at gcc dot gnu dot org>,
<gcc-prs at gcc dot gnu dot org>,
<bbaetz at acm dot org>
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