> If you take out virtual from and change it to "class Derived: public > Base {", it works. This is not a bug. You can't reinterpret_cast to a different class and expect it to work. Instead, you can make the destructor of your virtual base class virtual, and then dynamic_cast. Regards, Martin