STL-Map und alles schmiert ab?
-
Was muss ich beachten, wenn ich eine Map nutzen will? ich möchte gern Instanzen beliebiger Klassen mit Namen speichern- wobei die Speicheradressen der Instanzen der Key sind.
map<void*, const char*> objects; pair<void*, const char*> data(object, name); objects.insert (data);interessanterweise funktioniert das in meiner main tadellos.
in meiner eigentlichen klasse nicht.TinyLog *TinyLog::getInstance (void *object, const char *name) { if (instance == 0) { new TinyLog; } instance->setData (object, name); return instance; } void TinyLog::setData (void *object, const char *name) { pair<void*, const char*> data(object, name); objects.insert (data); }da schmiert mir das Programm in der Zeile objects.insert(data) ab.
hat da wer eine Idee, woran das liegt?
-
bin nen trottel.. ich sollte vielleicht mal die instanz des singletons irgendwo speichern ^^
-
wollts grad schreiben...

hab schon überlegt ob dus im konstruktor machst
-
DocJunioR schrieb:
Was muss ich beachten, wenn ich eine Map nutzen will? ich möchte gern Instanzen beliebiger Klassen mit Namen speichern- wobei die Speicheradressen der Instanzen der Key sind.
Ich hoffe du hast ansonsten noch einen wirklich guten Grund für die Datenhaltung über void-Pointer... In der Regel kommt mir in C++ wenn ich irgendwo "void*" sehe als erstes schlechtes Design in den Sinn.
cu André
-
asc schrieb:
DocJunioR schrieb:
Was muss ich beachten, wenn ich eine Map nutzen will? ich möchte gern Instanzen beliebiger Klassen mit Namen speichern- wobei die Speicheradressen der Instanzen der Key sind.
Ich hoffe du hast ansonsten noch einen wirklich guten Grund für die Datenhaltung über void-Pointer... In der Regel kommt mir in C++ wenn ich irgendwo "void*" sehe als erstes schlechtes Design in den Sinn.
cu André
Alleine der Name (object, objects) sagt ja schon, dass er Wahrscheinlich besser eine abstrakte Klasse als Basis hat.
-
DocJunioR schrieb:
...ich möchte gern Instanzen beliebiger Klassen mit Namen speichern- wobei die Speicheradressen der Instanzen der Key sind...
Warum ?
(ist nicht böse gemeint, sondern eine echte Frage)Gruß,
Simon2.