看板 C_and_CPP 關於我們 聯絡資訊
不是 SmartPtr 的關係... 沒道理容器不能放 SmartPtr... 我懷疑是 VC 的 bug 我看那個當掉的地方是 VC 在檢查 invalid delete 的碼 我猜是因為建構子沒東西 VC 不知道做了什麼最佳化想要省掉東西 結果造成記憶體沒有 new 但是還是進行了 delete 的動作 結果就 core dump 了 測試了一下 我在建構子裡面加上一些東西之後 行為就正常了.... 然後我改用 gcc 即使建構子裡面沒東西 程式也很正常的結束 :Q 但是我依然不確定是不是這個問題 搞不好是真的不能用 SmartPtr... orz 窘困,哪個大大來解答 qq -- To iterate is human, to recurse, divine. 遞迴只應天上有, 凡人該當用迴圈.   L. Peter Deutsch -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.109.64 ※ 編輯: yoco315 來自: 118.160.109.64 (07/08 04:10)
avhacker:我也覺得應該是 vc 的 bug,我用 vc8 追到 heap 那邊 07/08 14:39
avhacker:HeapAlloc() / HeapFree() 看起來都很正常. 07/08 14:40
avhacker:HeapFree() 之前也沒被別人 free 過. 07/08 14:41
avhacker:我不覺得是 optimize 的問題,因為 release 版反而沒事 07/08 14:42
avhacker:測猜是 debug 版多加一堆紀錄功能的 bug 07/08 14:43