c++/3902: gcc 3.0 unable to resolve an overload taking the address of a template member

nathan@gcc.gnu.org nathan@gcc.gnu.org
Wed Aug 1 02:43:00 GMT 2001


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



More information about the Gcc-bugs mailing list