推 ric2k1:看看 post#48, 也許會回答你的問題 11/07 01:42
是剛剛在寫hw2-p5的時候發現的
剛剛在寫myError的地方遇到的,
原本是做一個偵測 numNodes 和真正insert的node數目相不相同的一段程式,如下
for (unsigned j = 0; j < _numNodes; ++j) {
if (getNode(j) == 0) { //有node沒被new到,表示numNode說謊
errMsg << j;
myError(NODE_UNDEFINED);
}
}
不過後來發現,怎麼都跑不出這一行來
後來發現原來是會被 NODE_REDEFINED 給搶走這一行的作用
再進一步debug就發現即使 infile 已到了結尾(輸出完 5 terminal)
如果再 infile >> xxx 的話,
他還是會繼續輸出一些奇怪怪的數字,因此 NODE_REDEFINED 會被叫出來。
然後用 seekg(0, iso::beg) 也救不回來,沒辦法讓infile回到最初的位置
請問這是為什麼呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.250.91
※ 編輯: chubiei 來自: 140.112.250.91 (11/07 00:43)