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);
}
}
Así que esta es mi función de búsqueda para mi clase BST con un nodo T. x es la información que se busca dentro del árbol, len es la cantidad de nodos que tiene que viajar para llegar al nodo correspondiente si existe. No lo he implementado todavía, estoy desarrollando gradualmente mi tarea. Lo estoy llamando al hacer esto:
if(t.search(v[1], len) == true)
cout << endl << true;
v es solo un vector que tuve que crear para compararlo, y por lo tanto esto solo es suministrarle un int. El error que estoy recibiendo:
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]
Así que no estoy seguro de lo que estoy haciendo mal o de lo que estoy haciendo mal.













