Die Definition von benutzerdefinierten hash-Funktion und Gleichheit Funktion für unordered_map

Ich versuche zu definieren, eine Art von unordered_map, hat eine eigene hash-Funktion und der Geschlechter-Vergleich-Funktion. Die Funktion, die die Prototypen dieser Funktionen lauten wie folgt:

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

Habe ich diese Funktionsprototypen deklariert und dann versuche ich zu erklären, dass die Art wie folgt:

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

Aber es sagt, dass die VertexSetHashFunction und SetEqual sind nicht gültig template-Typ-Argumente. Die Dokumentation ist verwirrend, weil es nicht genau sagen, welche Art der template-Argumente sein sollen - bin ich nur geben soll es die Funktion wie ich hier, oder ist es eine andere Art von Objekt, welches die Funktion (weil die Dokumentation nicht sprechen über die "hash-Funktion " Objekt-Typ")?

Machen Sie sich noch Sorge um diese Frage?
Danke für die Erinnerung - eine der Antworten war die Antwort wollte ich ut habe ich nur vergessen, es zu akzeptieren. Ich habe gerade akzeptiert es jetzt.

InformationsquelleAutor Alex319 | 2010-01-20

Schreibe einen Kommentar