カスタムハッシュ関数と等価比較関数を持つunordered_mapのタイプを定義しようとしています。これらの関数の関数プロトタイプは次のとおりです。
//set<Vertex3DXT*> is the type of the key; Cell3DXT* is the type of the value
size_t VertexSetHashFunction(set<Vertex3DXT*> vertexSet); //hash function
bool SetEqual(set<Vertex3DXT*> a, set<Vertex3DXT*> b); //equality
これらの関数プロトタイプを宣言してから、次のように型を宣言しようとします。
typedef std::tr1::unordered_map<set<Vertex3DXT*>, Cell3DXT*, VertexSetHashFunction, SetEqual> CellDatabaseMapType;
ただし、VertexSetHashFunctionとSetEqualは有効なテンプレートタイプの引数ではないということです。テンプレート引数がどのタイプであるかを正確に示していないため、ドキュメントは混乱しています-ここで行ったように関数を与えることになっているだけですか、それとも関数をカプセル化する他の種類のオブジェクトがあります(ドキュメントは「ハッシュ関数オブジェクトタイプ」について話しますか?