Boost logo

Boost :

From: Alan Griffiths (alan_at_[hidden])
Date: 2000-03-31 15:00:00

In message <38E2303A.DF5932B1_at_[hidden]>, Thomas Matelich
<tmatelich_at_[hidden]> writes
>This probably applies to all of the smart pointers, I just haven't used
>them. My problem is that I'm replacing some dumb pointers with
>shared_ptr and now, I can't use forward references in my headers.
>The error involves deletion of incomplete type. Oops just noticed that
>its a warning. In any case, I would like to avoid the warning. What
>have other people done with regards to this?

You are right to worry - unless the type has a trivial destructor you
have "undefined behaviour". There are ways to implement smart pointers
that work with incomplete types - for one approach see:

As a user of the boots pointers you must place any code that copies or
destroys the shared_ptr instances where the type is complete.
(Typically implementing copy construction, assignment and destructor in
the .cp file.)

Alan Griffiths  (alan_at_[hidden])
ACCU Chairman   (chair_at_[hidden])   

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