wouterlammers
Programmer
Hello,
With this piece of code the c++ builder compiler correctly emits the warning:
[BCC32 Warning] Unit1.cpp(23): W8022 'Derived::Overload(float)' hides virtual function 'Base::Overload(int)'
code:
My problem is that if I include 'using Base::Overload;' into the declaration of the derived class the warning does not go away. Even though the base function is correctly pulled into overload resolution for Derived. Is this a c++ builder quirk? I have been using c++ builder 6.0 and now am using codegear c++ builder 2007, both have this issue.
With this piece of code the c++ builder compiler correctly emits the warning:
[BCC32 Warning] Unit1.cpp(23): W8022 'Derived::Overload(float)' hides virtual function 'Base::Overload(int)'
code:
Code:
struct Base
{
virtual void Overload(int) { Form1->Memo1->Lines->Add("Base::int"); }
};
struct Derived: Base
{
virtual void Overload(float) { Form1->Memo1->Lines->Add("Derived::float"); }
};
My problem is that if I include 'using Base::Overload;' into the declaration of the derived class the warning does not go away. Even though the base function is correctly pulled into overload resolution for Derived. Is this a c++ builder quirk? I have been using c++ builder 6.0 and now am using codegear c++ builder 2007, both have this issue.