Avatar ·

Initialisation d'un std::map<int, int> statique en C++ : méthodes et exemples

Bonjour à tous ! Je suis débutant en C++ et j'essaie de comprendre les conteneurs STL. J'ai une classe dans laquelle je dois stocker un mapping statique de nombres (int -> int), par exemple, la correspondance entre les codes d'erreur et leurs identifiants textuels. Je veux que cette map soit statique, c'est-à-dire unique pour toutes les instances de la classe. Le problème est que je ne comprends pas comment initialiser correctement un tel std::map statique. Voici un exemple de mon code : ```cpp #include class ErrorCodes { public: static std::map codeMap; // déclaration }; // Tentative d'initialisation std::map ErrorCodes::codeMap = { {1, 100}, {2, 200}, {3, 300} }; ``` Le compilateur se plaint de l'initialisation avec une liste d'initialisation (initializer list). J'utilise C++11, mais j'obtiens toujours une erreur "incomplete type" ou "could not convert". Pouvez-vous m'indiquer comment initialiser correctement un std::map statique en C++ ? Existe-t-il plusieurs méthodes ? Je serais reconnaissant pour des exemples avec des explications, car je