我有两个向量。一个是(1)向量,其中包含im正在使用的所有对象并与其一起工作。另一个向量是(2)向量,该向量在函数之后将(1)中的对象添加到(2)中。一旦发生这种情况,我想从(1)中删除对象。问题是我要删除的函数需要一个对象* obj。实际对象仍然具有指向它的指针,我不想完全擦除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错误