[英]Insert new instance of unordered_map into unordered_map
我有这些构造:
typedef std::unordered_set<std::string> functionSet;
typedef std::unordered_map<std::string, functionSet> classMap;
typedef std::unordered_map<std::string, classMap> semanticMap;
我有一个带有类名称的映射,它包含带有函数名称的映射,并且包含带有变量的set,我将其用于代码中的语义分析。 在某种情况下,当定义了新的“类”时,我正在调用将新类添加到semnaticMap的函数,因此这意味着它必须将键值对添加到语义映射,类名称和类映射的新实例,但是我不知道该怎么做。
我有一个可变的语义地图。 因此,我尝试了map.insert("name", new classMap), std::make_pair()
等,但是一切都显示给我错误
No matching member function for call to 'insert'.
我想添加到unordered_map“ key” => new_unordered_map。
您的地图包含classMap
类型作为值,而不是classMap*
(这是表达式new classMap
的结果)。 以下代码将为您工作:
map.insert({"name", classMap()});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.