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.

Reply via email to