Avatar ·

Inicialização de std::map<int, int> estático em C++: formas e exemplos

Olá a todos! Sou novo em C++ e estou tentando entender os contêineres STL. Tenho uma classe onde preciso armazenar um mapeamento estático de números (int -> int), por exemplo, a correspondência entre códigos de erro e seus identificadores de texto. Quero que este map seja estático, ou seja, único para todas as instâncias da classe. O problema é que não consigo entender como inicializar corretamente um std::map estático. Aqui está um exemplo do meu código: ```cpp #include class ErrorCodes { public: static std::map codeMap; // declaração }; // Tentativa de inicialização std::map ErrorCodes::codeMap = { {1, 100}, {2, 200}, {3, 300} }; ``` O compilador reclama da inicialização com initializer list. Estou usando C++11, mas ainda recebo um erro "incomplete type" ou "could not convert". Alguém pode me dizer como inicializar corretamente um std::map estático em C++? Existem várias formas? Agradeço exemplos com explicações, pois