質問は以前に尋ねられましたが、同じ文脈ではありません。
コード:
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;
これについて何かアイデアはありますか?