我正在一个项目中使用 Boost.Property_Tree,我想为其添加一些功能。我想添加一个“fromFile”静态成员变量,它将找出文件类型,然后使用正确的解析器。在我的项目中,这就是我目前的做法。

typedef boost::property_tree::ptree ConfigNode;

然后我有另一个名为 ConfigLoader 的类,我一直用它来加载文件。我想将一个函数添加到 ConfigNode 类中。我需要编译器将 ConfigNode 视为 boost::property_tree,但我想添加一个静态函数。有没有办法做到这一点?

有帮助吗?

解决方案

没有。没有 干净的 方法来做到这一点。

您有两个选择:

  1. 完全在类之外声明您的函数和变量(例如在另一个类或某个命名空间中的全局中)。
  2. 子类 boost::property_tree, ,添加您的静态成员。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top