C++ 映射插入中没有匹配的成员函数

C++ 映射插入中没有匹配的成员函数,c++,C++,我有以下两个变量: static vector<map<uint32_t,vector<uint64_t>>> relations; static map<uint64_t,map<uint32_t,vector<uint64_t>>> transactions; uint64_t key1; uint32_t key2; uint32_t key3; // init keys... 但我发现这个错误: main.cpp

我有以下两个变量:

static vector<map<uint32_t,vector<uint64_t>>> relations;
static map<uint64_t,map<uint32_t,vector<uint64_t>>> transactions;

uint64_t key1;
uint32_t key2;
uint32_t key3;
// init keys...
但我发现这个错误:

main.cpp:175:26: error: no matching member function for call to 'push_back'
     transactions[key1][key2].push_back(relations[key2][key3]));
     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/vector:700:36: note: candidate function not viable: no
  known conversion from 'vector<uint64_t>' to 'const value_type' (aka 'const unsigned long long') for 1st argument
_LIBCPP_INLINE_VISIBILITY void push_back(const_reference __x);
                               ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/vector:702:36: note: candidate function not viable: no
  known conversion from 'vector<uint64_t>' to 'value_type' (aka 'unsigned long long') for 1st argument
_LIBCPP_INLINE_VISIBILITY void push_back(value_type&& __x);
main.cpp:175:26:错误:调用“push_back”时没有匹配的成员函数
事务[key1][key2]。推回(关系[key2][key3]);
~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/./include/c++/v1/vector:700:36:注意:候选函数不可行:否
第一个参数从“vector”到“const value_type”(又名“const unsigned long long”)的已知转换
_LIBCPP_INLINE_VISIBILITY void push_back(常量参考x);
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/./include/c++/v1/vector:702:36:注意:候选函数不可行:否
第一个参数从“vector”到“value_type”(又名“unsigned long long”)的已知转换
_LIBCPP_INLINE_VISIBILITY void push_back(值类型&&ux);

知道发生了什么吗?

关系[key2][key3]
是一个
向量,您试图将它添加到
事务[key1][key2]
中,这是一个
向量

您不能将
向量
添加到
向量


如果要将第一个
向量的内容添加到第二个
向量,则需要使用:


关系[key2][key3]
是一个
向量
,您正试图将其添加到
事务[key1][key2]
中,后者是一个
向量

您不能将
向量
添加到
向量


如果要将第一个
向量的内容添加到第二个
向量,则需要使用:

main.cpp:175:26: error: no matching member function for call to 'push_back'
     transactions[key1][key2].push_back(relations[key2][key3]));
     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/vector:700:36: note: candidate function not viable: no
  known conversion from 'vector<uint64_t>' to 'const value_type' (aka 'const unsigned long long') for 1st argument
_LIBCPP_INLINE_VISIBILITY void push_back(const_reference __x);
                               ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/vector:702:36: note: candidate function not viable: no
  known conversion from 'vector<uint64_t>' to 'value_type' (aka 'unsigned long long') for 1st argument
_LIBCPP_INLINE_VISIBILITY void push_back(value_type&& __x);
auto& dst = transactions[key1][key2];
const auto& src = relations[key2][key3];
dst.insert(dst.end(), src.begin(), src.end());