精華區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 這是在 enum ERROR_TYPE 裡沒有考慮到的 error 狀況 歡迎自行加入新的 error type (e.g. MISMATCH_NODE_DEF_LINE) : 問題二: : NODE_UNDEFINED 什麼時候可能會用到阿 @ @"? : 我覺得是在genConnection時判斷 left & right 會用到,可是是在什麼狀況底下? : 1. 假設是 left 或 right 連結到沒有被 define 的 node 時, : 承上個問題,這樣資料列會比#nodes少,就會先跳出程式了 : 根本不用等到這邊... : 2. 假設是 left or right 大於 <totalNumOfNodes> : 那我會輸出 ILLEGAL_NODE_ID : 所以這個問題的答案是 : 用1.然後把問題一改正? : 用2.然後輸出 NODE_UNDEFINED? 沒錯 NODE_UNDEFINED 的確是不會遇到 我當初定義時沒有想到那麼多 只是想這是在 genConnection() 時的一種可能的狀況 寫來預防的 如果 logically 是不會發生的 我會用 assert() (會 throw exception 或 terminate the program) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.130.225