This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/3902: gcc 3.0 unable to resolve an overload taking the address of a template member
- To: gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org, sebor at roguewave dot com
- Subject: Re: c++/3902: gcc 3.0 unable to resolve an overload taking the address of a template member
- From: nathan at gcc dot gnu dot org
- Date: 1 Aug 2001 09:43:00 -0000
Synopsis: gcc 3.0 unable to resolve an overload taking the address of a template member
State-Changed-From-To: open->suspended
State-Changed-By: nathan
State-Changed-When: Wed Aug 1 02:42:59 2001
State-Changed-Why:
this is a parser bug, which will be fixed by the ongoing new
parser work. In case you've not noticed, the first
function declaration
S foo (T (T))
is ambiguous - is the second T an parameter name with extra
parentheses, or a parameter list? You and the std require
the latter interpretation, g++ takes the former. See 8.2/7
you can work around it by introducing a dummy name.
S foo (T _name_ (T))
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=3902&database=gcc