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: unassig...@gcc.gnu.org ReportedBy: thomas.presc...@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