以下是否可能:
template<class Container>
class TreeNode
{
Container mChildren;
}
TreeNode<std::vector<boost::shared_ptr<TreeNode>> myTreeNode;
最佳答案
不像你那样。 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;
关于c++ - 带有指向自身指针的容器的模板类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4451793/