Avatar ·

C++中静态std::map<int, int>的初始化:方法与示例

大家好!我是C++新手,正在尝试理解STL容器。我有一个类,需要存储一个静态的数字映射(int -> int),例如错误代码与其文本标识符的对应关系。我希望这个map是静态的,即对所有类实例共享。问题在于,我不知道如何正确初始化这样一个静态的std::map。 以下是我的代码示例: ```cpp #include class ErrorCodes { public: static std::map codeMap; // 声明 }; // 尝试初始化 std::map ErrorCodes::codeMap = { {1, 100}, {2, 200}, {3, 300} }; ``` 编译器对initializer list报错。我使用的是C++11,但仍然收到“incomplete type”或“could not convert”错误。请告诉我如何在C++中正确初始化静态的std::map?也许有几种方法?希望得到带解释的示例,因为我