У меня есть класс с двумя методами. Всегда вызывается метод Method1, поэтому пара (значение, индекс) всегда сохраняется в наборе конечных_пунктов. В некоторых случаях мне нужно вызвать Method2 и удалить итератор из вставленной пары. Однако, когда я вызываю Method2, программа падает.
class TheClass: public ParentClass {
public:
TheClass(int value, int index, std::set<std::pair<int,int>>* const ending_points)
: value_(value), index_(index), ending_points_(ending_points) {}
~TheClass() {}
void Method1() {
last_inserted_ = ending_points_->insert(std::make_pair(value_, index_)).first;
}
void Method2() {
ending_points_->erase(last_inserted_);
}
private:
int value_;
int index_;
std::set<std::pair<int64,int64>>::iterator last_inserted_;
std::set<std::pair<int64,int64>>* const ending_points_;
};
Я буду очень признателен за вашу помощь.