fork(1) download
  1. #include <iostream>
  2.  
  3. class Base1
  4. {
  5. public:
  6. void doit()
  7. {
  8. }
  9. };
  10.  
  11. class Base2
  12. {
  13. void doit(int x)
  14. {
  15. }
  16. };
  17.  
  18. class Derrived : public Base1, public Base2
  19. {
  20. };
  21.  
  22. using namespace std;
  23.  
  24. int main()
  25. {
  26. cout << "Hello World" << endl;
  27. Derrived d;
  28. d.doit(); // doesn't work - error: request for member ‘doit’ is ambiguous
  29. d.::Base1::doit(); //works
  30. return 0;
  31. }
  32.  
Compilation error #stdin compilation error #stdout 0s 3296KB
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:28:6: error: request for member ‘doit’ is ambiguous
    d.doit(); // doesn't work - error: request for member ‘doit’ is ambiguous
      ^
prog.cpp:13:7: note: candidates are: void Base2::doit(int)
  void doit(int x)
       ^
prog.cpp:6:10: note:                 void Base1::doit()
     void doit()
          ^
stdout
Standard output is empty