#include #include class A {}; class B : public A {}; class C : public A {}; int main() { std::vector my_vector; my_vector[0] = new B(); // WTF - This should fail! std::cout << static_cast(my_vector[0]) << std::endl; }