fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. // your code goes here
  6. return 0;
  7. }
  8.  
  9. class ITestA
  10. {
  11. virtual methodA() = 0;
  12. }
  13.  
  14. class ITestB : public ITestA
  15. {
  16. virtual methodB() = 0;
  17. }
  18.  
  19. class CBaseA : public ITestA
  20. {
  21. virtual void methodA() override;
  22. }
  23.  
  24. class CBaseB : public CBaseA, public ITestA
  25. {
  26. virtual void methodB() override;
  27. }
  28. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:11:22: error: ISO C++ forbids declaration of ‘methodA’ with no type [-fpermissive]
  virtual methodA() = 0;
                      ^
prog.cpp:12:1: error: expected ‘;’ after class definition
 }
 ^
prog.cpp:16:22: error: ISO C++ forbids declaration of ‘methodB’ with no type [-fpermissive]
  virtual methodB() = 0;
                      ^
prog.cpp:17:1: error: expected ‘;’ after class definition
 }
 ^
prog.cpp:21:15: error: conflicting return type specified for ‘virtual void CBaseA::methodA()’
  virtual void methodA() override;
               ^~~~~~~
prog.cpp:11:10: error:   overriding ‘virtual int ITestA::methodA()’
  virtual methodA() = 0;
          ^~~~~~~
prog.cpp:22:1: error: expected ‘;’ after class definition
 }
 ^
prog.cpp:26:18: error: ‘virtual void CBaseB::methodB()’ marked ‘override’, but does not override
     virtual void methodB() override;
                  ^~~~~~~
prog.cpp:24:7: warning: direct base ‘ITestA’ inaccessible in ‘CBaseB’ due to ambiguity
 class CBaseB : public CBaseA, public ITestA
       ^~~~~~
prog.cpp:27:1: error: expected ‘;’ after class definition
 }
 ^
prog.cpp:28:1: error: expected declaration before ‘}’ token
 }
 ^
stdout
Standard output is empty