[Bug c++/54909] New: gcc does not recognize member function template when identical named pure virtual method exists
thomas.prescher at intel dot com
gcc-bugzilla@gcc.gnu.org
Fri Oct 12 13:53:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54909
Bug #: 54909
Summary: gcc does not recognize member function template when
identical named pure virtual method exists
Classification: Unclassified
Product: gcc
Version: 4.7.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: thomas.prescher@intel.com
Created attachment 28432
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28432
test case
Hello,
I've found the following issue:
Assume you have a class A which has a pure-virtual method called foo which
gets one parameter. Furthermore, assume that A implements a template method
also called foo, which expects 0 arguments and has a template depended return
type.
Class B inherits from A and implements foo with one parameter.
When you call foo without parameter on an instance of B, gcc complains that it
expects a parameter, even if the template type is passed.
This is the error message, an example implementation is attached.
main.cc:33:20: error: expected primary-expression before ‘>’ token
main.cc:33:22: error: expected primary-expression before ‘)’ token
More information about the Gcc-bugs
mailing list