[問題] struct中string的個數

看板C_and_CPP (C/C++)作者 (大便兔子)時間16年前 (2009/04/12 16:47), 編輯推噓3(304)
留言7則, 5人參與, 最新討論串1/1
請問struct中string的個數有限制嗎? struct如下: typedef struct mos* mosptr; struct mos{ string label; string d,g,s,b; double W,L,M; char CH; double x,y; mosptr link; }; 我設了一個mosptr叫module, 其中只要我呼叫到 module -> g 程式就會自動關閉, 結果我把上面的string label;及string d,g,s,b;兩行對調後, 只要呼叫到 module -> label 程式就會自動關閉 囧! 而 d,g 兩個變數對調的結果是只要呼叫到 module -> d 程式就會自動關閉, 總之第三個以後的string都會出問題=.=" 到底發生了甚麼事啊... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.161.201.210

04/12 17:16, , 1F
你有分配記憶體空間給module嗎?
04/12 17:16, 1F

04/12 17:16, , 2F
你有沒有用 new 配置啊?不可以用 malloc 喲!
04/12 17:16, 2F

04/12 17:38, , 3F
不可以malloc是因為用了string嗎?
04/12 17:38, 3F

04/12 18:58, , 4F
對,因為 malloc 不會呼叫 constructor
04/12 18:58, 4F

04/12 18:59, , 5F
所以 string 物件會呈現未初始化的狀態
04/12 18:59, 5F

04/13 11:37, , 6F
謝謝! 我真的就是用malloc 囧" 可是不太懂差別在哪?
04/13 11:37, 6F

04/13 12:25, , 7F
樓樓上l大不是已經說了嗎?? malloc不會call constructor
04/13 12:25, 7F
文章代碼(AID): #19uQgElG (C_and_CPP)
文章代碼(AID): #19uQgElG (C_and_CPP)