Multiset apaga o último elemento
Estou tentando apagar o último elemento de um multiset usando:
minheap.erase(minheap.rbegin());
Não compila e fornece 4-5 erro
Observe que em multisets C ++,.end()
aponta ao lado do último elemento, e não ao último element
Alguma ideia
EDITAR
Por que isso está fornecendo números diferentes?
multiset <int>::reverse_iterator it1 = minheap.rbegin();
m1=*(++it1);
multiset <int>::iterator it2 = minheap.end();
m2=*(--it2);
Com alguns dados adicionados no multiset `m1 é 1` e` m2 é 2`. Por que não são os mesmos?