[問題] list

看板C_and_CPP (C/C++)作者 (HAHAHA)時間15年前 (2011/05/04 22:46), 編輯推噓0(009)
留言9則, 4人參與, 最新討論串1/2 (看更多)
這是一開始我所宣告的 struct kruskalSet { int distance; int x1; int y1; int x2; int y2; }; // 這個為主要list list<kruskalSet*> kruskal_List; list<kruskalSet*>:: iterator kruskalIt; kruskalSet* KRUSKAL = NULL; // 暫存的list 想要當條件成立時 存進主要的 list<kruskalSet*> edge_List; list<kruskalSet*>:: iterator EdgeIt; kruskalSet* EDGE = NULL; if(條件成立) { KRUSKAL= new kruskalSet; KRUSKAL->distance = EDGE->distance; KRUSKAL->x1 = EDGE->x1; KRUSKAL->y1 = EDGE->y1; KRUSKAL->x2 = EDGE->x2; KRUSKAL->y2 = EDGE->y2; kruskal_List.push_back (EDGE) ; } //這裡可以很順利的存進去 if(下個條件成立) { KRUSKAL= new kruskalSet; KRUSKAL->distance = EDGE->distance2; KRUSKAL->x1 = EDGE->xa; KRUSKAL->y1 = EDGE->ya; KRUSKAL->x2 = EDGE->xb; KRUSKAL->y2 = EDGE->yb; kruskal_List.push_back (EDGE) ; EdgeIt=edge_List.erase(EdgeIt); } //這個就失敗了 所儲存的資料竟然跟上面那個一樣 請問是哪裡做錯了QQ 小弟一直找不到問題所在 請高手幫忙指教 ps: 我的功能是 由暫存的list 再去做一些條件 然後不只要儲存原始的暫存list 還要儲存條件後的 list 然後把暫存的list給刪除掉 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.66.168.35 ※ 編輯: kkk999 來自: 210.66.168.35 (05/04 22:53)

05/04 22:56, , 1F
錯誤情形?
05/04 22:56, 1F

05/04 22:58, , 2F
不是 是輸出時 兩個竟然跑出一模一樣的資料
05/04 22:58, 2F

05/04 23:00, , 3F
你的EDGE 都是指到同一塊memory嗎?
05/04 23:00, 3F

05/04 23:01, , 4F
為啥你要放一段不能編譯過的程式碼?...= =
05/04 23:01, 4F

05/04 23:03, , 5F
對不起@@ 因為全部的CODE有點多 全部放上來有點不太好@@
05/04 23:03, 5F

05/04 23:06, , 6F
我是只 EDGE->distance2 ←這東西, 你一開始 EDGE 也
05/04 23:06, 6F

05/04 23:07, , 7F
沒賦值, 其他很多地方都無法確認狀態
05/04 23:07, 7F

05/04 23:09, , 8F
盡可能的簡化程式,只保留有問題的部份再貼上來吧
05/04 23:09, 8F

05/04 23:09, , 9F
只看這些,想知道問題實在有點難度
05/04 23:09, 9F
文章代碼(AID): #1DmMRZGe (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
1
4
完整討論串 (本文為第 1 之 2 篇):
1
4
0
9
15年前, 05/04
文章代碼(AID): #1DmMRZGe (C_and_CPP)