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);
}
}
Das ist also meine Suchfunktion für meine BST-Klasse mit einem T-Knoten. x die Daten innerhalb des Baumes werden gesucht, Len nur die Menge der Knoten ist es mit dem passenden Knoten zurückzulegen hat, zu kommen, wenn es vorhanden ist. Ich habe das noch nicht zuzurAufnahme, bin ich nur meine Aufgabe schrittweise zu entwickeln. Ich rufe sie durch dies zu tun:
if(t.search(v[1], len) == true)
cout << endl << true;
v ist nur ein Vektor musste ich schaffen es, zu vergleichen und so wird diese Versorgung es nur mit einem int. Der Fehler Ich erhalte:
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]
So bin ich nicht sicher, was ich falsch mache oder wo ich falsch mache.













