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 acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk