【发布时间】:2011-06-27 13:48:28
【问题描述】:
我正在使用 boots 的 property_tree 库。我正在寻找一种从ptree 对象获取子节点的方法,但如果失败则返回一个空的ptree。我在 property_tree/examples/empty_ptree_trick.cpp 中遇到了一个很好的例子:
void process_settings(const std::string &filename)
{
ptree pt;
read_info(filename, pt);
const ptree &settings = pt.get_child("settings", empty_ptree<ptree>());
std::cout << "\n Processing " << filename << std::endl;
std::cout << " Setting 1 is " << settings.get("setting1", 0) << std::endl;
std::cout << " Setting 2 is " << settings.get("setting2", 0.0) << std::endl;
std::cout << " Setting 3 is " << settings.get("setting3", "default") << std::endl;
}
这正是我需要的。问题是编译器抱怨empty_ptree() 函数不是boost:property_tree 的成员。 empty_ptree() 在哪里?
我在 VS2010 上使用 boost 1.44。
【问题讨论】: