Hi all,
I am trying to use shared_ptr in my code, but, I encoutered some problems. Here is a piece of my code :
The main :
boost::shared_ptr<OGRRectangle> rect( new OGRRectangle(5.,TPoint2D <double>(50.,20.),0.1325) );
boost::shared_ptr< rectangle_with_profile<OGRRectangle> >
r( new rectangle_with_profile<OGRRectangle> ( rect , 5 , 12 , 1.5
, EXTREME) );
The rectangle_with_profile<T> constructor :
template <class Rect_class>
rectangle_with_profile<Rect_class>::rectangle_with_profile(
boost::shared_ptr<Rect_class> rect , const unsigned int
&nb_profiles , const unsigned int &nb_points , const double
&distance , const eProfilePosition &position=CENTER )
{
m_rectangle = rect;
// ...
// ...
}
Just after the line
boost::shared_ptr< rectangle_with_profile<OGRRectangle> >
r( new rectangle_with_profile<OGRRectangle> ( rect , 5 , 12 , 1.5
, EXTREME) );
the rect<T> destructor is called, and the m_rectangle in rectangle_with_profile handles a deleted pointer ...
What am I missing ?
Thanks in advance for your help.
--
Le temps des cerises reviendra. Dans l'immédiat, c'est le temps des noyaux. Courage.