#include <stdio.h> class Foo{}; class Bar : Foo {}; int main(void) { Bar b; Foo *fp = &b; dynamic_cast<Bar *>(fp); }
Standard input is empty
prog.cpp: In function 'int main()':
prog.cpp:9:13: error: 'Foo' is an inaccessible base of 'Bar'
Foo *fp = &b;
^
prog.cpp:10:24: error: cannot dynamic_cast 'fp' (of type 'class Foo*') to type 'class Bar*' (source type is not polymorphic)
dynamic_cast<Bar *>(fp);
^
Standard output is empty