→ bleed1979:似乎需要多一點的資訊,比如那裡用到delete 12/20 18:16
→ bleed1979:目前我run這個程式是對的 12/20 18:16
→ gppo:目前沒有用到delete的指令 也沒有clear或erase 12/20 18:19
→ gppo:我想先問看看 "空間不存在時讀取ok但修改不可以" 這樣的可能? 12/20 18:26
→ bleed1979:也許在for迴圈裡試著輸出a2->cells[i] 12/20 18:35
→ tinlans:感覺是間接誘發的,你的 TypeA class 一看就覺得非常危險 12/20 18:59
→ tinlans:,如果你 TypeA 的建構子會 new 東西給 pre,解構子會 12/20 18:59
→ tinlans:delete pre,那會在複製 TypeA 物件時出事,但不會馬上炸 12/20 19:00
→ tinlans:,總之先看你 TypeA 的實作碼寫了什麼再說吧。 12/20 19:00
→ gppo:回B大 在push_back以前的那兩個for迴圈 已經有把成正確印出了 12/20 19:31
→ gppo:回T大 我的TypeA就真的只有TypeA(){}; 與~TypeA(){};而已 12/20 19:32
→ gppo:不曉得你說的是不是指TypeA(){...new something...}; ?? 12/20 19:34
→ gppo:先感謝兩位...有人可以討論的感覺真好QQ 現在充滿無力感... 12/20 19:35
→ tinlans:看看工作站上有沒有裝 valgrind,有的話用 g++ -g 編譯一 12/20 20:46
→ tinlans:次你的程式碼,然後用 valgrind 跑你的程式。 12/20 20:46
→ tinlans:直接 valgrind <原本執行程式的指令> 就可以。 12/20 20:47
→ tinlans:valgrind ./xxx arg1 arg2 接參數也是直接接。 12/20 20:47
→ johnhmj:你的 c->pre 可能沒有產生實體或是實體不存在~ 12/20 21:00
→ johnhmj:也有可能是 c.cells.size() = 0 … =_=||| 12/20 21:10
→ gppo:c與c->pre的size都不是0 也確實都是正確的大小 12/20 21:11
→ gppo:工作站沒裝valgrind....QQ 12/20 21:11
→ tinlans:把完整的程式放到可以下載的地方吧,c 不是 0 不代表它是 12/20 22:11
→ tinlans:有效值,C/C++ 並不會自動填 0。 12/20 22:12