我正在尝试使用具有整数键和值的多重映射,该值由具有 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::vector
或 std::array<int, 2>
.
关于c++ - 将数组值添加到 std::multimap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9269553/