#include <vector>
#include <iostream>
//erases the indicie of the given integer
void erase(std::vector<int*> &x, int n){
int i = 0;
while (*(x[i]) != n){
i++;
}
std::cout << &x << "\n";
delete x[i];
std::cout << &x << "\n";
x.erase(x.begin() + i);
std::cout << &x << "\n";
}
int main () {
std::vector<int*> x;
std::vector<int*> * p;
// say i initiated x with a couple of integers
p = &x;
std::cout << p << " " << &x << "\n";
x.push_back(new int(1));
x.push_back(new int(2));
x.push_back(new int(3));
std::cout << p << " " << &x << "\n";
erase(*p, 2);
std::cout << p << " " << &x << "\n";
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKLy9lcmFzZXMgdGhlIGluZGljaWUgb2YgdGhlIGdpdmVuIGludGVnZXIKdm9pZCBlcmFzZShzdGQ6OnZlY3RvcjxpbnQqPiAmeCwgaW50IG4pewogIGludCBpID0gMDsKICB3aGlsZSAoKih4W2ldKSAhPSBuKXsKICAgIGkrKzsKICB9CiAgc3RkOjpjb3V0IDw8ICZ4IDw8ICJcbiI7CiAgZGVsZXRlIHhbaV07CiAgCiAgc3RkOjpjb3V0IDw8ICZ4IDw8ICJcbiI7CiAgCiAgeC5lcmFzZSh4LmJlZ2luKCkgKyBpKTsKICAKICBzdGQ6OmNvdXQgPDwgJnggPDwgIlxuIjsKfQoKaW50IG1haW4gKCkgewoKICBzdGQ6OnZlY3RvcjxpbnQqPiB4OwogIHN0ZDo6dmVjdG9yPGludCo+ICogcDsKCiAgLy8gc2F5IGkgaW5pdGlhdGVkIHggd2l0aCBhIGNvdXBsZSBvZiBpbnRlZ2VycwogIHAgID0gJng7CiAgCiAgc3RkOjpjb3V0IDw8IHAgPDwgIiAiIDw8ICZ4IDw8ICJcbiI7CiAgCiAgeC5wdXNoX2JhY2sobmV3IGludCgxKSk7CiAgeC5wdXNoX2JhY2sobmV3IGludCgyKSk7CiAgeC5wdXNoX2JhY2sobmV3IGludCgzKSk7CiAgCiAgc3RkOjpjb3V0IDw8IHAgPDwgIiAiIDw8ICZ4IDw8ICJcbiI7CiAgCiAgZXJhc2UoKnAsIDIpOwogIAogIHN0ZDo6Y291dCA8PCBwIDw8ICIgIiA8PCAmeCA8PCAiXG4iOwogIAogIH0K