#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