Eigene Klasse auf map<> legen
-
Hi!
Ich versuche, eine map zu machen, bei der ich eine Klasse (Vector), die ich selbst geschrieben habe, reinschreibe:
map<Vector, unsigned> myMap;
So soll die map eigentlich aussehen. Wenn ich so versuche zu kompilieren, bekomme ich einen Fehler, dass etwas an meiner Vector-Klasse fehlt, damit man ein Objekt dieser Klasse in die map einfügen kann. Wisst ihr, auf was ich achten muss/was ich zu meiner Klasse hinzufügen muss, damit das geht? Und wie das geht?
Hab rausgefunden, dass es schon geht, wenn ich meine map so mache:
map<Vector*, unsigned> myMap;
aber mit dem Zeiger ist die map schwieriger zu handhaben.Wär super, wenn ihr mir sagen könntet, wie ich meine Klasse in die map kriege.
Thx. Nick.
-
Du musst meines Wissen einen Standardkonstruktor und einen operator< haben, damit die Objekte sortiert werden können. Außerdem wahrscheinlich noch einen operator= und einen Kopierkonstruktor, aber die werden ja sowieso automatisch generiert!
Ansonsten poste mal die Fehlermeldung.