我有以下代码:
namespace boost {
namespace property_tree {
template<class Key, class Data, class KeyCompare>
class basic_ptree;
typedef basic_ptree<std::string, std::string, std::less<std::string> > ptree;
}
}
class JsonReader {
public:
JsonReader();
~JsonReader() { };
void processValuation(std::vector<Simulation> &simulations);
private:
std::string processOptionParams(const ptree::value_type &node);
void loadConfig(std::string filename);
std::shared_ptr<boost::property_tree::ptree> jsonTree_;
};
一切都很好,但我不确定如何转发声明ptree::value_type
。
有什么想法可以做到吗?
您可以在此处找到具有value_type
定义的文件
http://www.boost.org/doc/libs/1_60_0/boost/property_tree/ptree.hpp
答案 0 :(得分:2)
您无法转发声明类型成员的前向声明类型。这样您就可以从echo $_GET["u"];
(不推荐)中提取value_type
的实际定义,或只是包含完整标题ptree
。
在头文件中需要类的内部后,不能选择forward-declaration。