Любопытная RT-ошибка "pure virtual function is called"
От: Аноним  
Дата: 17.11.09 09:56
Оценка: :))) :))) :))) :)
class A
{
  public:
    void f()
    {
      vf();
    }
    virtual void vf()=0;
    ~A() {;}
};

class B : public A
{
  public:
  void vf() {;}
}b;

void main()
{
  b.~B(); // если убрать вызов деструктора, то разумеется все работает
  b.f();  // внутри функции выдается RT-ошибка "pure virtual function is called"
}


Вопрос: как и почему вызов деструктора повлиял на экземпляр b, что внутри вызова b.f(); выдается ошибка
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.