[問題] 動態記憶體配置的問題

看板C_and_CPP (C/C++)作者 (兌現承諾)時間16年前 (2009/12/21 23:01), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串2/2 (看更多)
遇到的問題: (題意請描述清楚) 如果72與73行的"delete 指標"程式碼同時留下, 程式跑到中途就當掉了.但若指delete一個指標, 程式確可以執行. 不知道哪裡觀念錯誤? 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) C++ 有問題的code: (請善用置底文標色功能) 有點長,所以貼在網頁上. http://codepad.org/yKDmi1tN 補充說明: 為了方便將程式貼上來,已將原本程式稍微修改, 只保留有問題的部份.因此這個程式看起來可能有點怪. 非常感謝你的幫忙. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.11.175

12/21 23:10, , 1F
temp1 = temp2; 以後, temp1就等於temp2了, 你等於嘗試
12/21 23:10, 1F

12/21 23:10, , 2F
重覆delete同一個位址; 然後原來的temp1就memory leak了
12/21 23:10, 2F

12/21 23:11, , 3F
剛沒注意到, temp1沒被new過, 所以你是temp1與temp2相同
12/21 23:11, 3F

12/21 23:12, , 4F
而對同一個位址做了兩次delete....
12/21 23:12, 4F

12/21 23:18, , 5F
嗯~感謝.我沒注意到這點.我更不知道不能delete同一個
12/21 23:18, 5F

12/21 23:18, , 6F
置2次 =.=
12/21 23:18, 6F
文章代碼(AID): #1BBut35O (C_and_CPP)
文章代碼(AID): #1BBut35O (C_and_CPP)