Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2005-10-11 12:24:01

Bronek Kozicki wrote:

> As I understand, checked_delete is being used by scoped_ptr to prevent
> deletion of incomplete type. However, this very simple program is
> accepted by MSVC6, MSVC71 and MinGW (GCC) 3.4.4, even though implicit
> destructor of A is deleting incomplete class A::impl.

Apparently, ~A is being implicitly generated at the end of the translation
unit, where A::impl is complete. If you add ~impl that prints something,
you'll see that it is actually being called. If you remove the definition of
A::impl, the program will no longer compile. At least under MSVC 7.1.

Boost list run by bdawes at, gregod at, cpdaniel at, john at