我有一个矢量,充满了shared_ptr
类(SFML)的sf::Drawable
s。现在有一个函数需要一个新的shared_ptr
的sf::Drawable
并将其添加到向量中。向量声明(它在一个名为GUINodeBody
的类中,不要被名称搞糊涂):
std::vector<std::shared_ptr<sf::Drawable>>* allTestWidgets;
现在,功能:
void GUINodeBody::addWidget(std::shared_ptr<sf::Drawable> widget) {
allTestWidgets->push_back(widget);
}
但是当我调用这个函数时,Visual Studio会在vector
第1731行引发异常:
Reading acess violation
std::_Vector_alloc<std::_Vec_base_types<
std::shared_ptr<sf::Drawable>,
std::allocator<std::shared_ptr<sf::Drawable> >
> >::_Mylast**(...) returned 0xC.
有人知道为什么会抛出异常吗?