質問は前と同じですが、同じ文脈では聞かれていません。関数定義でテンプレート内にパラメータエラーが宣言されていません
コード:
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;
これに関するご意見はありますか?
や '演算子を()(constのペア&)' –