https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67345
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |diagnostic Status|UNCONFIRMED |NEW Last reconfirmed| |2015-08-24 Ever confirmed|0 |1 Severity|normal |enhancement --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- -Woverloaded-virtual warns when a function hides a virtual, which is not the case here. The function that is hidden is non-virtual. I don't think this warrants a warning, but the error when trying to call derived.frob(23) could be more helpful. Clang says "did you mean 'MyFrob::frob'?" file.cpp:23:10: error: too few arguments to function call, expected 2, have 1; did you mean 'MyBase::frob'? derived.frob(23); ^~~~ MyBase::frob file.cpp:11:7: note: 'MyBase::frob' declared here void frob(int a) { cout << "MyBase::frob(int), forwarding:" << endl; frob(a, 42); } ^ 1 error generated.