у меня есть два вектора. один - это вектор (1), который содержит все объекты, которые я использую, и работает с этим. другой вектор - это вектор (2), который после функции добавляет объект из (1) в (2). как только это произойдет, я хочу удалить объект из (1). проблема в том, что функция, которую я сделал, чтобы удалить ее, принимает объект * obj. фактический объект все еще имеет указатели, указывающие на него, и я не хочу полностью стереть объект, просто удалите его из (1). любая помощь будет оценена.
`
void removeObject(const Object * obj) {
int index;
for (int i = 0; i < size(); i++) {
if (obj == & objectVector[i] ) {
index = i;
}
}
objectVector.erase(objectVector.begin() + index);
}
`
Я уверен, что это проблема, потому что, когда я не закомментирую строку с помощью этой функции, я получаю sigtrapошибка