繁体   English   中英

将unordered_map的新实例插入unordered_map

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM