看板 C_and_CPP 關於我們 聯絡資訊
請問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
snowlike:你有分配記憶體空間給module嗎? 04/12 17:16
littleshan:你有沒有用 new 配置啊?不可以用 malloc 喲! 04/12 17:16
tsaiminghan:不可以malloc是因為用了string嗎? 04/12 17:38
littleshan:對,因為 malloc 不會呼叫 constructor 04/12 18:58
littleshan:所以 string 物件會呈現未初始化的狀態 04/12 18:59
IDontBite:謝謝! 我真的就是用malloc 囧" 可是不太懂差別在哪? 04/13 11:37
VictorTom:樓樓上l大不是已經說了嗎?? malloc不會call constructor 04/13 12:25