Как заполнить карту с помощью равномерной инициализации методом вставки - PullRequest
0 голосов
/ 03 марта 2019

У меня есть что-то вроде этого

std::unordered_map<int, std::unordered_map<int, std::string>> p;

, и я пытаюсь это

p.insert({ 0x00 ,{0x03,"Custom"} });

нет экземпляра перегруженной функции ........ принимает ошибку списка параметров МожетКто-нибудь, пожалуйста, скажите мне правильный синтаксис?

1 Ответ

0 голосов
/ 03 марта 2019

Одна пара скобок отсутствует.Значение p - это коллекция - unordered_map, поэтому, вставив ключ 0x00 в качестве ключа, вы можете поместить коллекцию, например, которая состоит из 2 элементов, синтаксис:

p.insert({ 0x00 , { {0x03,"Custom"},{0x04,"Custom2"} } });
                  ^ ^brace for item ^brace for item  ^
                  |->begin collections               |-> end collections

поэтому, когда в коллекции есть один элемент, синтаксис должен быть:

p.insert({ 0x00 , { {0x03,"Custom"} } });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...