[問題] 關於iteartor迴圈
CmdParser::printHelps()的迴圈
本來是寫
CmdMap::iterator m;
for(m=_cmdMap.begin();m!=_cmdMap.end();m++)
後來跑出
cmdParser.cpp:100: error: no match for ‘operator=’ in ‘m = ((const
CmdParser*)this)->CmdParser::_cmdMap.std::map<_Key, _Tp, _Compare,
_Alloc>::begin [with _Key = const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, _Tp = CmdExec*, _Compare =
std::less<const std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, _Alloc = std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
CmdExec*> >]()’
/usr/include/c++/4.4/bits/stl_tree.h:154: note: candidates are:
std::_Rb_tree_iterator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, CmdExec*> >&
std::_Rb_tree_iterator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, CmdExec*> >::operator=(const
std::_Rb_tree_iterator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, CmdExec*> >&)
缺少operator = 的錯誤訊息
之後把迴圈改成
for(CmdMap::iterator m=_cmdMap.begin();m!=_cmdMap.end();m++)
結果錯誤訊息是
cmdParser.cpp:99: error: conversion from ‘
std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, CmdExec*> >’ to non-scalar
type ‘std::_Rb_tree_iterator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, CmdExec*> >’ requested
請問一下 問題大概是出在哪? 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.184.13.168
推
11/15 22:53, , 1F
11/15 22:53, 1F
→
11/15 22:54, , 2F
11/15 22:54, 2F
→
11/15 22:55, , 3F
11/15 22:55, 3F
推
11/15 22:56, , 4F
11/15 22:56, 4F
推
11/16 11:42, , 5F
11/16 11:42, 5F
→
11/16 11:42, , 6F
11/16 11:42, 6F
推
11/16 13:27, , 7F
11/16 13:27, 7F
推
11/16 16:09, , 8F
11/16 16:09, 8F
推
11/16 17:04, , 9F
11/16 17:04, 9F
→
11/16 17:05, , 10F
11/16 17:05, 10F
→
11/16 17:06, , 11F
11/16 17:06, 11F
→
11/16 17:07, , 12F
11/16 17:07, 12F
推
11/16 17:16, , 13F
11/16 17:16, 13F
推
11/16 17:19, , 14F
11/16 17:19, 14F
推
11/16 18:48, , 15F
11/16 18:48, 15F
推
11/16 18:51, , 16F
11/16 18:51, 16F
推
11/16 19:16, , 17F
11/16 19:16, 17F
推
11/16 23:12, , 18F
11/16 23:12, 18F
推
11/16 23:21, , 19F
11/16 23:21, 19F
→
11/17 00:28, , 20F
11/17 00:28, 20F
推
11/17 07:53, , 21F
11/17 07:53, 21F