У меня есть эти конструкции:
typedef std::unordered_set<std::string> functionSet;
typedef std::unordered_map<std::string, functionSet> classMap;
typedef std::unordered_map<std::string, classMap> semanticMap;
У меня есть карта с именами классов, она содержит карту с именами функций и содержит набор с переменными, я использую ее для семантического анализа в моем коде.
Когда возникает ситуация, когда определяется новый «класс», я вызываю функцию, которая добавляет новый класс в semnaticMap, так что это означает, что он должен добавить пару ключ-значение в semanticMap, имя класса и новый экземпляр classMap, но Я не знаю, как это сделать.
У меня есть переменная карта semanticMap. Итак, я пробовал map.insert("name", new classMap), std::make_pair()
и т. Д., Но все показывает мне ошибку, что
No matching member function for call to 'insert'.
Я хочу добавить в unordered_map "key" => new_unordered_map.