-4
我知道这个问题不是描述性的,但我希望你们在本文结束时能够理解我的问题。有人可以解释为什么这样做会导致一个错误,它有什么问题?
int *p1, *p2;
p1 = new int;
p2 = new int;
*p1=11;
*p2=0;
p2=p1;
cout << *p1 << " " << *p2 << endl;
delete p1;
delete p2;
所以我想知道为什么当你删除p2它会导致错误和内存泄漏?
谢谢!
'p2 = p1;'您丢失了p2的原始值并导致内存泄漏。错误是因为你试图释放相同的地址两次。 –