Шаблон класса с контейнером с указателями на себя - PullRequest
0 голосов
/ 15 декабря 2010

Возможно ли следующее:

template<class  Container>
class TreeNode
{  

 Container mChildren;
}

TreeNode<std::vector<boost::shared_ptr<TreeNode>> myTreeNode;

1 Ответ

2 голосов
/ 15 декабря 2010

Не так, как ты.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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...