是否可以存储指向boost属性树中的对象的指针,然后使用迭代器检索数据?我试着这样做:用于存储指针的Boost property_tree
property_tree::ptree pt;
pt.put<CGUICrateElement*>("1.2.3.4", new MyObject());
//... more tree construction here...
,然后通过递归所有的树节点的东西,如itererate:
property_tree::ptree::iterator iter = treeNode.begin();
property_tree::ptree::iterator iter_end = treeNode.end();
for (; iter != iter_end; ++iter)
{
MyObject *obj = lexical_cast<MyObject*>(iter->second.data());
//... etc
问题是我得到的错误lexical_cast.hpp:1112:错误:在词汇投射线的'流>>输出'中与'运算符>>'不匹配。
并添加以下为myObject没有帮助
friend std::istream& operator>>(std::istream& in, MyObject& obj){ return in; }
我也试过ç蒙上和动态类型转换无济于事。
在ptree中甚至可能使用指针吗?我想创建自己的树形结构作为解决方法,我想我会先在这里问。
干杯。
感谢您的信息。我开始感觉到财产树不是在这里使用的工具。我最终使用ptree的基本结构创建了我自己的树数据结构。 – gmcc051