set<Object>::iterator i = objectSet.end()
" end() i, , ". , , set<Object>::iterator i = objectSet.end();, , , end(), . - :
assert(!objectSet.empty()); // check there is something before end
set<Object>::iterator i = objectSet.end();
objectSet.erase(i);
, .back() .
In addition, reverse iterators have a member base()to convert to a regular iterator, and I think you can only erase normal iterators - give it a try objectSet.erase(objectSet.rbegin().base()).
source
share