这个问题的出现是因为没有正确的初始化智能指针,而且你又用了这个未初始化的智能指针。
如:
boost::shared_ptr<Obj> obj;
obj->Something(); // assertion failed
而正确的初始化应该这样:
boost::shared_ptr<Obj> obj(new Obj);
obj->Something(); // ok
强烈建议在声明时就进行初始化,否则很难根据报错找出未初始化的智能指针。
本文讲解了智能指针初始化的重要性及正确方式。错误地使用未初始化的智能指针会导致程序崩溃。通过实例演示如何初始化智能指针以避免此类问题。
这个问题的出现是因为没有正确的初始化智能指针,而且你又用了这个未初始化的智能指针。
如:
boost::shared_ptr<Obj> obj;
obj->Something(); // assertion failed
而正确的初始化应该这样:
boost::shared_ptr<Obj> obj(new Obj);
obj->Something(); // ok
强烈建议在声明时就进行初始化,否则很难根据报错找出未初始化的智能指针。
1107
1102

被折叠的 条评论
为什么被折叠?