multiple-inh/ambiguities/amb-1.cc - Ambiguity - the compiler locates the problem. | Lecture 5 - slide 18 : 40 Program 1 |
// A very simple illustration of an ambiguity in // a multiple-inheritance situation. #include <iostream> #include <string> 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()); }