error: call to implicitly-deleted default constructor of ‘unordered_map<vector<int>, int>‘

c++报错 

今天在做力扣每日一题(2352. 相等行列对)的时候,需要用到 unordered_map于是就写了下面的结构的代码,然后就报错了。

unordered_map,int> hang;

错误原因:

 之后查阅了一些资料,发现这是和unordered_map的底层实现有关的,这需要知道unordered_map和map的区别,一个是无序的,一个是有序的。

这里就是产生错误的原因,unordered_map的底层实现是哈希表,哈希表需要通过计算得到对应的键值,然而这种复杂结构的变量,在C++底层中并没有事先进行处理。map的底层实现是红黑树,简单来说,就是可以根据比较值得大小,将元素放到树中,当然这个大小是取出这个vector中的数,再比大小。

解决办法:

unordered_map改为map,例如

map,int> hang;

你可能感兴趣的:(力扣,数学建模)