以下是可能的:
template<class Container>
class TreeNode
{
Container mChildren;
}
TreeNode<std::vector<boost::shared_ptr<TreeNode>> myTreeNode;
答案 0 :(得分:2)
不像你那样。 TreeNode不是类,而是类模板。 我现在很着急,所以这可能不是最简单或最优雅的方式,但有可能:
#include <vector>
using namespace std;
class Container {};
template<class Container>
class TreeNode
{
Container mChildren;
};
class TreeNodeWrapper;
typedef TreeNode<std::vector<TreeNodeWrapper*> > recursiveTreeNode;
class TreeNodeWrapper : public recursiveTreeNode {
};
recursiveTreeNode myTreeNode;