Je travaille actuellement avec des nœuds de type template, je rencontre un problème lorsque je compare ces nœuds avec des données d'une classe normale. Les 2 types de données qui ne correspondent pas sont la ligne root->data = item;
root
est Node<string> *TreeParser::root
, où item
est const Node <string> &
. Lorsque vous regardez un travail précédent où les deux classes sont de type, cela fonctionne. Cependant, lorsque je change la classe en un type non-type, ce code ne fonctionne plus. Comment puis-je obtenir ces 2 différents types de données pour se parler sans changer de classe pour taper le modèle. Voici mon exemple de code:C++ - Comparaison des types de données entre les modèles et les classes
template <typename T>
struct Node {
T data;
Node* lLink;
Node* rLink;
};
class TreeParser{
public:
void insert(const Node<string>& item);
private:
Node<string>* root{ nullptr };
};
void TreeParser::insert(const Node<string>& item){
if (root == nullptr){
root = new Node<string>();
root->data = item;
return;
}
else
//do something
}
Merci pour la réponse, est tellement logique quand vous le traversez de cette façon. –