Initialisieren einer statischen privaten Karte als leer
Ich habe eine static map
ist ein private
Daten Mitglied. Wie Initialisiere ich es in die Umsetzung-Datei, so dass es der erste Behälter leer sind??? Es ist nicht const
. Es ist wichtig, dass nichts in diesem container zu starten.
InformationsquelleAutor | 2012-06-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Header:
Umsetzung Datei:
Wird, legen Sie einen Konstruktor aufrufen, für die Ihre Karte in Ihren Programm-code für die Initialisierung (und ein Destruktor in der Bereinigung). Aber Vorsicht - die Reihenfolge der statischen Konstruktoren wie dieses zwischen verschiedenen übersetzungseinheiten ist nicht definiert.
Veröffentlichen Sie Ihren code, Sie machen irgendwo einen Fehler.
Ich hatte, um meine typedef öffentlichen, behielt aber meine member private. Dass es behoben wird.
InformationsquelleAutor Nikolai Fetissov
Wie über diese (wenn ich Sie richtig verstehe):
std::map<T,T2> YourClass::YourMember;
Genau. Nur die Klärung, dass Sie ihm geben könnte als argument für den Konstruktor, wenn Sie wollte.
InformationsquelleAutor Linuxios
Wenn Sie definieren es in der definition der Klasse, dann müssen Sie deklarieren es in die Umsetzung:
--- test.h ---
--- test.cpp ---
Können Sie eine Initialisierung zu:
InformationsquelleAutor Black