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);
}
}
Dus dit is mijn zoekfunctie voor mijn BST klasse met een T-knooppunt. x is de data die worden gezocht naar de boom, len is slechts het bedrag van de knooppunten heeft om te reizen om te komen met de bijpassende knooppunt als het bestaat. Ik heb niet implented dat nog, ik ben gewoon stapsgewijs ontwikkelen van mijn opdracht. Ik noem het door dit te doen:
if(t.search(v[1], len) == true)
cout << endl << true;
v is slechts een vector ik moest maken om het te vergelijken met, en dus dit is alleen het leveren van het met een int. De fout die ik krijg:
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]
Dus ik ben niet zeker wat ik verkeerd doe en waar ik verkeerd doe.













