fork download
  1. #include <iostream>
  2. #include <iomanip>
  3.  
  4. using namespace std;
  5.  
  6. struct Widget
  7. {
  8. int widget;
  9. };
  10.  
  11. struct Button
  12. : public Widget
  13. {
  14. int button;
  15. };
  16.  
  17. int main()
  18. {
  19. Widget* w = new Widget;
  20. Button* b = dynamic_cast<Button*>(w);
  21. }
Compilation error #stdin compilation error #stdout 0s 15232KB
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:20:37: error: cannot dynamic_cast ‘w’ (of type ‘struct Widget*’) to type ‘struct Button*’ (source type is not polymorphic)
  Button* b = dynamic_cast<Button*>(w);
                                     ^
stdout
Standard output is empty