作者ijb ()
看板EE_DSnP
标题[问题] MVAR的问题
时间Wed Nov 22 00:44:22 2006
MvarCmd::exec() {const string& option) {
....
CmdExec::lexOptions(option, options, 2);
..
ModNum v;
if (!ModNum::getStrVal(options[1], v))
....
..
}
里面的ModNum v这行,compiler说会造成ModNum::ModNum(int)的错误
这是为什麽呢?
不能这样子使用吗??
还有lexOptions()中,会用到myStrGetTok(),主要的用意是??
e.g: mvar dd 7
是把dd, 7分别存到options[0],options[1]里面去吗?
我把myStrGetTok()::begin print出来, begin=3(似乎合理)
但是我用mvar ddd 7时,begin=2?? 此时,我预期begin=4
为了验证....
自己写了一个小程式如下:
// 0123456789
s1="dd 7";
cout << "Original s1 =" << s1 << endl;
string str_tmp;
const char del = ' ';
size_t pos = 0;
size_t begin = s1.find_first_not_of(del, pos);
cout << "begin = " << begin << endl;
无论s1=dd 7,或者是ddd 7, begin=0; 害我到最後都不晓得哪个才是正确的了
超囧....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.68.74.95
1F:推 kevinlads:find_first_not_of... 11/22 01:06
2F:→ kevinlads:find_first_of 11/22 01:06
3F:推 ric2k1:请将 compile error message 附上来, 我才有办法帮你诊断.. 11/22 01:39
4F:→ ric2k1:find_first_not_of from pos = 0 当然是第一个 'd' 罗... 11/22 01:40
5F:推 kevinlads:ModNum v 这一行...会不会是 Constructor 没给 Default 11/22 09:49
6F:推 ijb:就像上面说的...在myStrGetTok里面,dd 7执行後begin=3 囧... 11/22 10:38
7F:→ ijb:ModNum v constructor有给default value给private data member 11/22 10:39