作者ric2k1 (Ric)
看板EE_DSnP
标题Re: [问题] HW3 "Extra option!!"
时间Wed Nov 15 20:08:25 2006
※ 引述《ric2k1 (Ric)》之铭言:
: ※ 引述《timrau (unknown)》之铭言:
: : 在sample program里
: : MCOMPare
: : 碰到超过两个输入参数,就只输出error message而不比较
: 这是正确的...
: : MADD
: : MSUBtract
: : MMULTply
: : 碰到太多输入参数时,都在输出error message之後,
: : 照样把第二个参数和第三个参数运算并存入第一个参数,
: : 所以这个要照做吗?
: 啊 bug... 应该要和 MCOMPare 一样, 只输出error message而不计算
: : 又,在sample program
: : mcalc> madd a 5
: : Missing option!!
: Another bug... 我承认我的确没做什麽验证 (所以验证很重要 XD)
: : 程式记忆体区段错误
: : 这个要怎麽实做?(怎样故意让它出现segment fault...)
: 就 cout << *(0); 吧...
: 没有啦, 开玩笑的, 我晚上在找时间将程式修一下...
修好了, copy 过来後忘记检查和 return... 请重新测试 modCalc
另外, reference code 中 "cmdParser.cpp" 有一个 typo, 请修正 ---
370 bool
371 CmdExec::lexOptions
372 (const string& option, vector<string>& tokens, size_t nOpts) const
373 {
......
381 if (tokens.size() > nOpts) {
382 errorOption(CMD_OPT_EXTRA, tokens[2]);
383 return false;
384 }
385 }
382 行应改为 ---
381 if (tokens.size() > nOpts) {
382 errorOption(CMD_OPT_EXTRA, tokens[nOpts]);
383 return false;
384 }
请修正或重新 download "hw3.tgz"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.121.131.138