Мультисет стереть последний элемент
Я пытаюсь стереть последний элемент мультимножества, используя:
minheap.erase(minheap.rbegin());
Он не компилируется и дает 4-5 ошибок.
Обратите внимание, что в C ++ мультимножества,.end()
указывает рядом с последним элементом, а не с последним элементом.
Есть идеи?
РЕДАКТИРОВАТЬ:
Почему это дает разные цифры?
multiset <int>::reverse_iterator it1 = minheap.rbegin();
m1=*(++it1);
multiset <int>::iterator it2 = minheap.end();
m2=*(--it2);
С некоторыми данными, добавленными в мультимножество, `m1 равно 1`, а` m2 равно 2`. Почему они не одинаковы?