map forward声明不改变值,它返回null

时间:2015-11-20 05:01:14

标签: c++ dictionary null

在类中使用map并声明其声明的分隔不会更改任何值并始终返回null:

//config.hpp

class Config
{
  public:
  std::map<char*, char*>config_map;
  Config();
};

//config.cpp

#include "config.hpp"

Config::Config()
{
  config_map["key1"] = "value1";
  config_map["key2"] = "value2";
}

//main.cpp

#include "config.hpp"
#include <stdio.h>

using namespace std;

int main()
{
  Config conf;
  printf("%s - %s", conf.config_map["key1"], conf.config_map["key2"]);

  return 0;
}

输出将是“(null) - (null)”

但是如果声明在类的下面,在同一个头文件中,这个工作正常。为什么呢?

0 个答案:

没有答案