У меня есть std::set of user-defined type
, который содержит отсортированные значения на основе некоторых критериев [перегружен <оператор]. Я хочу <code>store the iterator из этого набора в std::deque
, который я могу использовать позже, чтобы обновить / удалить записи из набора. Вот что я делаю:
.h файл
static std::set<SpanStruct_X> spanXRange;
std::map<uint16_t, std::deque<SpanStruct_X>::iterator> mMap;
. cpp
SpanStruct_X sX;
spanXRange.insert(sX);
mMap[id].push_back(spanXRange.find(sX));
Я предполагаю, что ::iterator
доступен только для типов STD и не для определенного пользователем и, следовательно, я получаю эту ошибку компиляции.
Ошибка компиляции:
error: ‘std::map<short unsigned int, std::_Deque_iterator<SpanStruct_X, SpanStruct_X&, SpanStruct_X*> >::mapped_type’ has no member named ‘push_back’
mMap[id].push_back(spanXRange.find(sX));
Как мне это сделать?
Спасибо!