Я пытаюсь стереть последний элемент мультимножества, используя:
minheap.erase(minheap.rbegin());
Это не компилируется и выдает 4-5 ошибок.
Обратите внимание, что в мультимножествах C++, .end()
указывает рядом с последним элементом, а не на последний элемент.
Есть идеи?
EDIT:
Почему это дает разные числа?
multiset <int>::reverse_iterator it1 = minheap.rbegin();
m1=*(++it1);
multiset <int>::iterator it2 = minheap.end();
m2=*(--it2);