ある項目に続く地図のすべての項目をループしたい。std :: mapの指定されたイテレータ位置の後にループを続ける
残念ながら、 'operator +'(オペランドの種類は 'std :: _ Rb_tree_iterator'と 'int')には一致しません。
私は間違っていますか?
#include <iostream>
#include <map>
int main()
{
std::map<char,int> m = {
{'a',1},{'b',2},{'c',3},{'d',4},
};
// Position at 'b' (the 'given item')
auto it = m.find('b');
// Output everything after 'b':
for (auto it1=it+1; it1!=m.end(); ++it1) {
std::cout << it1->first << " => " << it1->second << '\n';
}
return 0;
}
'のための(!自動IT1 =それ+ 1; IT1 = m.end(); ++ IT1){ 'すでに' end()を指している場合、未定義の振る舞いのために条件が失敗する可能性があります。 –