作者ric2k1 (Ric)
看板EE_DSnP
标题Re: [问题] cmdParser.cpp 的 CmdParser::printHel …
时间Sun Oct 25 15:04:30 2009
※ 引述《ric2k1 (Ric)》之铭言:
#1071 篇; Repost 一下.
(天哪, 一年就这样过去了...)
※ 引述《dragonegg (egg)》之铭言:
我在function里头是这样子打的:
72 // TODO...
73 CmdMap::iterator it ;
74 for( it= _cmdMap.begin() ; it != _cmdMap.end() ;++it)
75 cout << (*it).second->help() << endl ;
76
77 cout << endl;
但在compile时出现下面的问题:
cmdParser.cpp:74: error: no match for 'operator=' in 'it = (((const
std::map<const std::string, CmdExec*, std::less<const std::string>,
std::allocator<std::pair<const std::string, CmdExec*> > >*)((const
CmdParser*)this)) + 5424u)->std::map<_Key, _Tp, _Compare, _Alloc>::begin
[with _Key = const std::string, _Tp = CmdExec*, _Compare = std::less<const
std::string>, _Alloc = std::allocator<std::pair<const std::string, CmdExec*>
>]()'
/usr/lib/gcc/i386-redhat-linux/3.4.4/../../../../include/c++/3.4.4/bits/stl_tree.h:152:
note: candidates are: std::_Rb_tree_iterator<std::pair<const std::string,
CmdExec*> >& std::_Rb_tree_iterator<std::pair<const std::string, CmdExec*>
>::operator=(const std::_Rb_tree_iterator<std::pair<const std::string,
CmdExec*> >&)
.....(以下省略…Orz)
不知道为什麽会有这个error? 可否请大家帮忙看看… 累死了Orz...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.166.197.152
1F:推 ric2k1:Good question. Const member function => object is const 04/10 23:48
2F:→ ric2k1:=> its data member (including static) is const 04/10 23:49
3F:→ ric2k1:=> Please use "const_iterator" 04/10 23:49
4F:推 battlecruise:阿 也顺便解答我的问题 谢谢! 04/11 13:00
5F:推 GriffeyKao:喔 我也有遇到这个问题耶 谢啦!! 04/11 16:03
6F:推 GriffeyKao:嗯 同学(是健达吗?)这行怪怪的跟你说一下 04/11 16:07
7F:→ GriffeyKao:cout << (*it).second->help() << endl 04/11 16:08
8F:→ GriffeyKao:应该只要用pointer去呼叫hepl()就行了吧 我觉得是这样 04/11 16:09
9F:→ dragonegg:哦对是我耍笨了= = 04/11 17:58
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.216.0.233
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.224.43.158