#include "stdafx.h" #include <cstdio> class A{ public: A(){} virtual int func(){ return 1; } }; class B{ public: B(){} virtual int funcb(){ return 2;}; }; class C: public A, public B{ public: C(){} int func(){ return 3;}; }; int _tmain(int argc, _TCHAR* argv[]) { C *CC = new C; A *AA= CC; B *BB; fprintf(stderr, "%X\n", BB = dynamic_cast< B *>(AA)); return 0; } gcc ではちゃんとキャストできた。VC++ 7.01だとランタイムエラーで落ちる。