例如:
vector<int> v = {1, 2, 3};
unordered_set<vector<int>> s;
s.insert(v);
会给出错误
不匹配调用'(const std :: hash>)(const std :: vector&)'noexcept(declval()(declval()))>
答案 0 :(得分:1)
因为most of the C++ containers don't? vector<bool>
似乎有明确的专长,但这是不寻常的情况;通常,它们不为聚合或集合类型提供std::hash
重载(可能是因为它们不想锁定适用于任意模板类型的哈希组合算法)。