如题,
set<int> b;
//----
set<int>::reverse_iterator rit;
for (rit = b.rbegin(); rit != b.rend(); rit++) {
cout << *rit ;
}
这样遍历输出,然后我想判断如果指向倒数第二个元素的时候输出一个空格。
if(rit==b.rend()+2)
cout<<" ";
就报错
不明白什么意思
如题,
set<int> b;
//----
set<int>::reverse_iterator rit;
for (rit = b.rbegin(); rit != b.rend(); rit++) {
cout << *rit ;
}
这样遍历输出,然后我想判断如果指向倒数第二个元素的时候输出一个空格。
if(rit==b.rend()+2)
cout<<" ";
就报错
搞出来了,迭代器不支持加减运算。可以改成
if (next(rit) == b.rend())
cout << " ";