精華區beta EE_DSnP 關於我們 聯絡資訊
※ 引述《starsky7372 (點點星空照上風)》之銘言: : 問題1: : 如果 下面定義的資料列 比 第一個數字 <totalNumOfNodes> 少時 : 例如: : 6 : 0 circle 1 2 : 1 triangle 2 4 : 2 square 3 4 : 3 terminal : 4 terminal : 這樣會出現 NODE_REDEFINED 的error : 因為parseNodes裡面迴圈 + 讀進 nodeId & nodeType 的部份是已經寫好的 : 所以讀到 eof 以後 nodeId && nodeType 都會保持在最後一筆 : 然後就 NODE_REDEFINED : 所以可以資料列比 <totalNumOfNodes> 少嗎? : 還是說那部份我們也可以自由改 XD : 問題二: : NODE_UNDEFINED 什麼時候可能會用到阿 @ @"? : 我覺得是在genConnection時判斷 left & right 會用到,可是是在什麼狀況底下? : 1. 假設是 left 或 right 連結到沒有被 define 的 node 時, : 承上個問題,這樣資料列會比#nodes少,就會先跳出程式了 : 根本不用等到這邊... : 2. 假設是 left or right 大於 <totalNumOfNodes> : 那我會輸出 ILLEGAL_NODE_ID : 所以這個問題的答案是 : 用1.然後把問題一改正? : 用2.然後輸出 NODE_UNDEFINED? 把 <totalNumOfNodes>改小就可以了,例如 4 0 circle 1 2 1 triangle 2 4 2 square 3 4 3 terminal 4 terminal 主要原因是出在: Graph::parseNodes(ifstream& infile) { … for (unsigned i = 0; i < _numNodes; ++i) … } 因為_numNodes=4,所以nodeId只會執行到3,不會出現ILLEGAL_NODE_ID -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.25.195
sainteyes:我把她歸在ILLEGAL上耶,因為她和沒有4是執行時是一樣的 11/06 20:06