是否可以存儲指向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