Приведение базового класса к дочернему

struct A
{
    void B();
}
struct B : A
{
    void A();
}
int main(int argc, const char * argv[]) {
  
    B* a = new A();
    
    return 0;
}

Я знаю, что так нельзя делать, но почему? Как оно устроено в памяти?


Ответы (0 шт):