我试图有一个枚举结构映射,以保证默认值为配置值,如果它不存在并保证只访问"真正的"配置值.(没有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;
}
Run Code Online (Sandbox Code Playgroud)
而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
}
Run Code Online (Sandbox Code Playgroud)
但我无法访问地图.
| 归档时间: |
|
| 查看次数: |
258 次 |
| 最近记录: |