0
ist Folgendes möglich:Template-Klasse mit Container mit Zeigern auf sich
template<class Container>
class TreeNode
{
Container mChildren;
}
TreeNode<std::vector<boost::shared_ptr<TreeNode>> myTreeNode;
ist Folgendes möglich:Template-Klasse mit Container mit Zeigern auf sich
template<class Container>
class TreeNode
{
Container mChildren;
}
TreeNode<std::vector<boost::shared_ptr<TreeNode>> myTreeNode;
Nicht wie Sie getan haben. TreeNode ist keine Klasse, sondern eine Klassenvorlage. Ich bin in Eile jetzt so nicht die einfachste oder elegante Weise sein könnte, aber es ist möglich:
#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;
Was macht Ihr Compiler Ihnen sagen? – KevenK
Der folgende Fehler wird ausgegeben: Fehler C3203: 'TreeNode': unspezialisierte Klassenvorlage kann nicht als Vorlageargument für Vorlagenparameter 'T' verwendet werden, erwartet einen echten Typ – user152508