【发布时间】:2015-07-11 08:16:56
【问题描述】:
typedef unordered_map<string, relationNode*> relationMap;
using relation_entry = relationMap::value_type;
void insertNode(string category, relationNode* node) {
relation_entry insertPair =
make_pair<string, relationNode*>(category, node);
}
导致“无法将 'category' (type 'std::string(aka std::basic_string(char))') 类型转换为 type 'std::basic_string(char)&&”的错误 以及“无法将'node'(类型'relationNode*')转换为'relationNode*&&”的错误。
我打算先制作这对,然后将其插入到 unordered_map 中。
我正在使用“g++ -g -O0 -Wall -Wextra -std=gnu++11”来编译代码。任何帮助将不胜感激。
【问题讨论】:
-
您应该使用
make_pair(category, node),而不指定实际参数类型。make_pair()正是为此而设计的
标签: c++