функция для удаления объекта из вектора, передающего указатель - PullRequest
0 голосов
/ 05 октября 2019

у меня есть два вектора. один - это вектор (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ошибка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...