No match 'operator = ' in std::vector

193
20 июня 2018, 21:30

Всем доброго вечера!

У меня есть вектор такого вида:

vector< map <BYTE,ifunct*> > FuncBytes;

Пытаюсь с ним работать вот так:

FuncBytes[sign] = pair<BYTE,ifunct*>(n, changMethod);

и так:

FuncBytes.at(sign) = pair<BYTE,ifunct*>(n, changMethod);

Но в обоих случаях получаю синтаксическую ошибку:

ошибка: no match for 'operator=' in 'FuncBytes.std::vector<_Tp, _Alloc>::operator[] [with _Tp = std::map, std::allocator > >, _Alloc = std::allocator, std::allocator > > >](((unsigned int)sign)) = std::pair(((const unsigned char&)((const unsigned char*)(& n))), ((ifunct* const&)((ifunct* const*)(& changMethod))))'

Я так понимаю, ему pair не нравится? Как тогда правильно присвоить словарю значение?

READ ALSO
Не присваивается значение char

Не присваивается значение char

Не присваивается значение элементам структуры типа char

210
Удалить / добавить значение из флагов

Удалить / добавить значение из флагов

Какими из операторов можно проверить присутствие флага, и удалить его если он есть, в противном случае добавить?

172
OpenGL и клавиатура

OpenGL и клавиатура

Есть проект, на C++ с OpenGL - просто камера, которой можно управлять с помощью клавиатурыНо когда включена русская раскладка, то камера не перемещается,...

253
Сортировка бинарного дерева

Сортировка бинарного дерева

Есть вот такая вот программа которая входящие данные забивает в бинарное дерево, а потом считает количество обращений к элементамНужно после...

233