The following code gives error that request for member fcn1 is ambiguous. Why is this happening?
class Base1 {
public:
void fcn1(int x) {}
};
class Base2 {
public:
void fcn1(int x, int) {}
};
class D: public Base1, public Base2 {
};
int main()
{
D* d = new D;
d->fcn1(1);
}
Putting the following in class D makes it work
public: using Base1::fcn1; using Base2::fcn1;