我正在尝试使用枚举结构映射来保证默认值为配置值,如果它不存在并且仅保证访问"真实" config values。(No std :: string get)
所以Header看起来像这样:
enum ConfigValues
{
LOG_LEVEL,
};
class Config
{
public:
std::string get(const ConfigValues& key);
private:
struct ConfigMapping
{
std::string configKeyString;
std::string defaultValue;
};
const static std::map<ConfigValues, ConfigMapping> m_mapping;
}
cpp包含这个:
const std::map<ConfigValues, Config::ConfigMapping> Config::m_mapping=
{
{LOG_LEVEL, { "logLevel", "5" } },
};
std::string Config::get(const ConfigValues& key)
{
std::string key = m_mapping[key].configKeyString; // <-- Does not work
}
但我无法访问地图。