-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的原始值並導致內存泄漏。錯誤是因爲你試圖釋放相同的地址兩次。 –