当用boost库函数写入.xml文件时,用xml_writer_settings<char> setting('\t', 1, "utf8"); 配置格式时会编译报错error C2825: 'Str': 当后面跟“::”时必须为类或命名空间,并提示参见对正在编译的类 模板 实例化“boost::property_tree::xml_parser::xml_writer_settings<Str>”的引用。试了一些办法并没有找到原因,但是我添加了#include <string> 头文件并将函数改为
boost::property_tree::xml_writer_settings<string> setting('\t', 1, "utf8");
便可以通过编译,执行了。