Definiowanie niestandardowej funkcji mieszającej i funkcji równości dla mapy nieuporządkowanej

Próbuję zdefiniować typ mapy nieuporządkowanej, który ma niestandardową funkcję mieszania i funkcję porównywania równości. Prototypy funkcji tych funkcji są następujące:

//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

Mam zadeklarowane prototypy funkcji, a następnie próbuję zadeklarować typ w następujący sposób:

typedef std::tr1::unordered_map<set<Vertex3DXT*>, Cell3DXT*, VertexSetHashFunction, SetEqual> CellDatabaseMapType;

Ale mówi, że VertexSetHashFunction i SetEqual nie są poprawnymi argumentami typu szablonu. Dokumentacja jest myląca, ponieważ nie mówi dokładnie, jakiego typu mają być argumenty szablonu - czy powinienem po prostu nadać jej funkcję taką, jak tutaj, czy też istnieje jakiś inny rodzaj obiektu, który zawiera funkcję dokumentacja mówi o „typie obiektu funkcji mieszającej”)?

questionAnswers(2)

yourAnswerToTheQuestion