Хранение итератора набора определенного пользователем типа в std :: deque в C ++ - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть 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));

Как мне это сделать?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...