struct A { virtual void foo(); // unused and unimplemented virtual void bar () {} }; int main () { A obj; // ok obj.bar(); // <-- added this edition A* pm = (A*)malloc(sizeof(A)); // ok A* pn = new A; // linker error }
Для объектов в стеке работает нормально . Но для размещения в куче с
new
(неmalloc
), он выдает ошибку компоновщика:undefined reference to `vtable for A'