Не добавляется обьект в вектор unique_ptr
Есть какая-то очевидная причина, почему моё оконное приложение закрывается, когда я пытаюсь два раза добавить в неё один и тот же объект(даже если его до этого удалил).
void AddObject(GameObject* obj) {
objects().push_back(unique_ptr<GameObject>(obj));
cout << "AddObject" << endl;
}
void DeleteObject(GameObject* obj) {
for (auto itr = objects().begin(); itr != objects().end(); ++itr) {
if ((*itr)->ID == obj->ID) { objects().erase(itr); return; }
}
}
Программа закрывается, если я добавлю один и тот же объект функцией AddObject, даже если его перед вторым добавлением удалить из вектора функцией DeleteObject.