-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の元の値が失われ、メモリリークが発生しました。エラーは、同じアドレスを2回解放しようとしたためです。 –