精華區beta EE_DSnP 關於我們 聯絡資訊
※ 引述《ric2k1 (Ric)》之銘言: : ※ 引述《geneliu (^^)》之銘言: : : 輸入 mset 3 5 7 是不是應該會被檢查出 CMD_OPT_EXTRA @@? : : 因為我用老師的測試程式執行 mset 3 5 7 之後 : : 似乎就把 3 吃進去了... : 搞笑了... 居然把 "else if" 括錯地方... : In cmdParser.cpp --- : bool : CmdExec::lexSingleOption : (const string& option, string& token, bool optional) const : { : size_t n = myStrGetTok(option, token); : if (!optional) { : if (token.size() == 0) { : errorOption(CMD_OPT_MISSING, ""); : return false; : } : else if (n != string::npos) { : errorOption(CMD_OPT_EXTRA, option.substr(n)); : return false; : } // 這個括弧放錯了.... orz : } : return true; : } 這樣改了之後 如果我以下面的方式執行 e.g mcalc> help help 3 5 7 Usage: HELp [(string cmd)] 它就不會去管後面的部份是否全部正確 而會照常執行 其他使用到 lexSingleOption 的好像都會有同樣的情形 我記得還沒改之前 似乎都可偵測的到 ... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.223.18