Я использую std :: unordered_map в первый раз, и у меня возникла проблема с вставкой в созданную мной карту.std :: unordered_map insert error shared_ptr C++
ClassA Заголовок:
Class ClassA
{
public:
void func();
private:
std::unordered_map<std::string, std::shared_ptr<ClassB>> map;
}
ClassA каст:
void ClassA::func()
{
map = std::unordered_map<std::string, std::shared_ptr<ClassB>>();
map.insert("string", std::make_shared<ClassB>());
}
Я получаю ошибку C2664 станд :: _ List_iterator < _Mylist> станд :: _ Hash < _Traits> :: вставка (станд :: _List_const_iterator < _Mylist>, std :: pair < _Ty1, _Ty2> & &) ': невозможно преобразовать параметр 1 из' const char [17] 'в' std :: _ List_const_iterator < _M ylist> '
Любые идеи?
Спасибо, std :: make_pair сделал эту работу с явным созданием строкового ключа или без него. еще раз спасибо. – Daniel