$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Zumichu (zumichu_at_[hidden])
Date: 2003-06-08 23:02:06
Basically I'm having trouble understanding exactly how to use
shared_ptr . If I have a class:
GraphNode
{
public:
AddChild(shared_ptr<GraphNode> n)
{
m_Children.push_back(n);
shared_ptr<GraphNode> thisptr(this);
n->m_Parents.push_back(thisptr);
}
DeleteChild(shared_ptr<GraphNode> n);
private:
vector<shared_ptr<GraphNode> > m_Children;
vector<shared_ptr<GraphNode> > m_Parents;
};
main()
{
shared_ptr<GraphNode> n1(new GraphNode());
shared_ptr<GraphNode> n2(new GraphNode());
n1->AddChild(n2);
}
doing it this way gives me a run-time error that seems to have to do
with updating the child node's parent vector with the parent node's
this pointer.
Am I not using the shared_ptr right?