Why static_cast cannot downcast from a virtual base ?
static_cast
struct A {}; struct B : public virtual A {}; struct C : public virtual A {}; struct D : public