c++ - 将数组值添加到 std::multimap

标签 c++ multimap

我正在尝试使用具有整数键和值的多重映射,该值由具有 2 个元素的整数数组组成。

typedef std::multimap<int,int[2]> reverseHeightMap;
reverseHeightMap container;

当我尝试添加这样的值时:

container.insert( std::pair<int,int[2]>(5,{1,2}) );

我得到:

error C2143: syntax error: missing ')' before '{'

我无法确定我是否未能定义数据结构或插入值,或两者都失败。在此先感谢您的帮助:)

最佳答案

您不能将数组存储在容器中,因为存储在 STL 容器中的数据类型的要求之一是它们是可分配的;数组不可赋值。

考虑使用 std::vectorstd::array<int, 2> .

关于c++ - 将数组值添加到 std::multimap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9269553/

相关文章:

c++ - 更新存储在 map 中的 vector vector

c++ - 高效计算 vector 组合

java - 如何结合扫描仪和多重 map ?

java - 如何使用 Guava 的 MultiMap 输出唯一键? ( java )

c++ - qDebug 将 QString UTF-8 非 Ascii 符号输出为 like\uxxxx

c++ - 如何在 C++ 中移动、交换和比较快速排序的计数

c++ - 切片 std::array

c++ - 以相反的顺序搜索 multimap

java - 使用 B-Tree 索引 <String, Arraylist<Integer>>

java - 从 multiMap 移除