Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Почему дебаггер не заходит внутрь деструктора


Автор: zim22 14.3.2009, 12:34
Установил бряк на строчке с вызовом деструктора. Но студия не заходит внутрь функции при нажатии F11 (в меню Debug->Step Into)
Хотя ясно видно, что деструктор 2 раза вызывается (см. вывод cout). Первый раз явно (я вызываю), второй раз - при выходе из области видимости автоматически вызывается.
Это глюк студии? у меня msvc 2008.

Код

#include <iostream>

class Foo {
public:    
    ~Foo() { std::cout << "~Foo()" << std::endl; }
};

int main(int argc, char *argv[])
{
    Foo f;
    f.~Foo(); // бряк

    return 0;
}

Автор: zim22 14.3.2009, 13:13
разобрался в чём дело.
нужно было также бряк поставить на строке с определением деструктора.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)