Здравствуйте, remark, Вы писали:
R>Тут единственный вариант делать явную переменную и в конце функции её вручную устанавливать в true, что значит, что исключений в функции не было. Тогда деструкторы смогут её проверять.
Но тут у тебя так просто не получится, т.к. тебе надо детектировать возникновение исключение не внутри функции, а во время неявного копирования.
Тут тогда надо делать обёртку над возвращаемым значением из pop(), что бы она контролировала, "дошло" ли значение до пользователя или нет. И только если все копирования прошли успешно, тогда снимать верхний элемент со стека.
Теоретически, я думаю, возможно сделать работающую схему.
R>