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);
}
}
Έτσι, αυτό είναι συνάρτηση αναζήτησή μου για την κατηγορία BST μου με ένα κόμβο Τ. x είναι τα δεδομένα που αναζητείται μέσα στο δέντρο, len είναι μόνο η ποσότητα των κόμβων πρέπει να ταξιδέψει για να καταλήξει με τον κόμβο που ταιριάζουν, αν υπάρχει. Δεν έχω implented ότι ακόμα, είμαι μόνο σταδιακά αναπτύσσει αποστολή μου. Είμαι αυτό που ζητούν με τον τρόπο αυτό:
if(t.search(v[1], len) == true)
cout << endl << true;
v είναι απλά ένας φορέας έπρεπε να δημιουργήσει για να το συγκρίνουμε με, και έτσι αυτό είναι ακριβώς αυτό προμηθεύει με μια int. Το σφάλμα Παίρνω:
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]
Έτσι, δεν είμαι σίγουρος τι κάνω λάθος ή αν κάνω λάθος.













