我知道这个问题并不具有描述性,但我希望你们能够在结束时理解我的问题。
int *p1, *p2;
p1 = new int;
p2 = new int;
*p1=11;
*p2=0;
p2=p1;
cout << *p1 << " " << *p2 << endl;
delete p1;
delete p2;
所以我想知道为什么当你删除p2时会导致错误和内存泄漏?
谢谢!
答案 0 :(得分:0)
它会导致内存泄漏,因为当您将*p2
指定为*p1
并删除*p1
时,您实际上是在删除*p2
,但是您尝试删除指针那不再存在了。