以前有人问过这个问题,但不是在相同的上下文中。
代码:
    namespace std
    {
    template <typename T, typename U>
    struct hash < pair <T,U> >
    {
        size_t operator()
        {
            return hash<T>()(first) ^ hash<U>()(second);
        }
    };
    }
我正在尝试使用 unordered_map,因为不需要对元素进行排序。但这需要一个哈希比较函数。以下代码生成编译时错误:
“错误:函数定义未声明参数”
问题是我的地图不仅包含内置类型,还包含混合:
typedef std::vector<Point> Point_Set;
typedef std::unordered_map < Point_Set, double > Tree;
对此有什么想法吗?