Avatar ·

Initialisierung einer statischen std::map<int, int> in C++: Methoden und Beispiele

Hallo zusammen! Ich bin neu in C++ und versuche, mich mit den STL-Containern vertraut zu machen. Ich habe eine Klasse, in der ich eine statische Abbildung von Zahlen (int -> int) speichern muss, zum Beispiel die Zuordnung von Fehlercodes zu ihren Text-IDs. Ich möchte, dass diese map statisch ist, also für alle Instanzen der Klasse gleich. Das Problem ist, dass ich nicht verstehe, wie man eine solche statische std::map richtig initialisiert.\n\nHier ist ein Beispiel meines Codes:\n\n```cpp\n#include \n\nclass ErrorCodes {\npublic:\n static std::map codeMap; // Deklaration\n};\n\n// Initialisierungsversuch\nstd::map ErrorCodes::codeMap = {\n {1, 100},\n {2, 200},\n {3, 300}\n};\n```\n\nDer Compiler beschwert sich über die Initialisierungsliste (initializer list). Ich verwende C++11, bekomme aber trotzdem einen Fehler.