struct A {};
struct B : A {};
int main()
{
A* a = new B();
B* b = dynamic_cast<B*>(a);
}
与えます:
'a' (型 'struct A*') を型 'struct B*' に dynamic_cast できません (ソース型は多態的ではありません)
どうすればA
ポリモーフィックにできますか? Bに安全にキャストしたい。
(ダミーの仮想関数を追加するのも一つの方法ですが、もっと良い方法はありますか?)