C++ 具有初始值设定项列表的映射的分段构造
尝试使用初始值设定项列表分段构造映射(在映射的映射中),出现语法错误:C++ 具有初始值设定项列表的映射的分段构造,c++,c++17,C++,C++17,尝试使用初始值设定项列表分段构造映射(在映射的映射中),出现语法错误: std::unordered_map<int, std::unordered_map<int, int>> map; map.emplace(std::piecewise_construct, std::forward_as_tuple(1), std::forward_as_tuple(std::initializer_list<std::pai
std::unordered_map<int, std::unordered_map<int, int>> map;
map.emplace(std::piecewise_construct,
std::forward_as_tuple(1),
std::forward_as_tuple(std::initializer_list<std::pair<int, int>>{{1,1}}));
std::无序地图;
地图安放(标准::分段构造,
std::转发作为元组(1),
std::forward_as_tuple(std::initializer_list{{{1,1}}));
请在此处尝试:初始值设定项列表中的键类型需要是
const
:
std::unordered_map<int, std::unordered_map<int, int>> map;
map.emplace(std::piecewise_construct,
std::forward_as_tuple(1),
std::forward_as_tuple(std::initializer_list<std::pair<const int, int>>{{1,1}}));
std::无序地图;
地图安放(标准::分段构造,
std::转发作为元组(1),
std::forward_as_tuple(std::initializer_list{{{1,1}}));
请将完整的编译错误添加到您的问题中。让人们更容易理解WoeOutt的情况,依赖于外部工具来帮助你:“@ JoelBodenmann以典型的C++方式生成2页的错误信息,发布错误并没有什么大不了的,但严重降低了问题的可读性。在这种情况下,我发现外部工具不是什么坏事。@hmad Joel是对的,习惯上会在问题中添加完整的错误。它将显示在一个可滚动的框中,所以它很长不会有什么坏处。