Я использую boost 'intrusive_ptr' в своем коде, но когда я удаляю некоторые объекты, у меня происходит сбой!
На самом деле я использую тот же самый intrusive_ptr в классе и возвращаю его следующим образом:
typedef intrusive_ptr<Node> ref;
class MyContainer
{
ref SmartPointer;
};
class Compiler
{
private:
ref MyNode;
public:
ref getMyNode() { return MyNode; }
ref process() {MyNode.Reset(); ... return MyNode; }
};
MyContainer * c1 = new MyContainer();
c1->SmartPointer = compiler.process();
delete c1; <= CRASH