对于以下代码:
vector<int*> x;
vector<int*>* p;
// say I initiated x with a couple of integers
p = &x;
//erases the indicie of the given integer
void erase(vector<int*> &x, int n){
int i = 0;
while (*(x[i]) != n){
i++;
}
delete x[i];
x.erase(x.begin() + i);
}
如果我调用erase(*p, 2);
我现在要设置的代码p
到这个已被擦除的向量的地址......我正在尝试p = &(*p);
..但这不起作用,我得到一个分段错误,有什么想法吗?