1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
extern int r; int ad; #include "dtor1.h" A::~A () { ++ad; } B::~B () try { throw 1; } catch (...) { if (!ad) r = 1; return; }