template <class T>
bool BST<T>::search(const T& x, int& len) const
{
return search(BT<T>::root, x);
}
template <class T>
bool BST<T>::search(struct Node<T>*& root, const T& x)
{
if (root == NULL)
return false;
else
{
if (root->data == x)
return true;
else if(root->data < x)
search(root->left, x);
else
search(root->right, x);
}
}
Voici donc ma fonction de recherche de ma classe BST avec un noeud T. x est les données recherchées dans l'arbre, len est juste la quantité de noeuds, il doit se déplacer pour venir avec le noeud correspondant si elle existe. Je ne l'ai pas encore implenté que, je développe progressivement tout simplement ma mission. Je l'appeler en faisant ceci:
if(t.search(v[1], len) == true)
cout << endl << true;
v est juste un vecteur je devais créer de la comparer, et si cela est juste fournit avec un int. L'erreur que je reçois:
BST.h: In member function âbool BST<T>::search(const T&, int&) const [with T = int]â:
prog5.cc:24: instantiated from here
BST.h:78: error: no matching function for call to âBST<int>::search(Node<int>* const&, const int&) constâ
BST.h:76: note: candidates are: bool BST<T>::search(const T&, int&) const [with T = int]
BST.h:83: note: bool BST<T>::search(Node<T>*&, const T&) [with T = int]
Je ne suis pas sûr de ce que je fais mal ou si je fais mal.













