Не так, как ты.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;