// A very simple illustration of an ambiguity in // a multiple-inheritance situation. #include #include using namespace std; class A { public: int data; int operation(){ cout << "A: operation" << endl; return data; } }; class B { public: int data; int operation(){ cout << "B: operation" << endl; return data; } }; class C: public A, public B{ }; int f(C* c){ return c->operation(); // Compiler: // error: request for member operation is ambiguous // error: candidates are: int B::operation() // error: int A::operation() } int main(){ f(new C()); }