Z góry muszę napomnieć, iż jestem bardzo początkującym programistą. Mam za zadanie napisać szablon drzewa binarnego i chciałem dodać do niego funkcję przeszukującą to drzewo ale podczas kompilacji wyskakuje mi taki oto błąd 'error: TreeNote does not name a type' i mam pytanie jaki jest tutaj błąd? Czy muszę użyć jakiegoś operatora zakresu w kontekście tej klasy wbudowanej i jakiego ? Przepraszam jeśli jest to jakieś banalne pytanie ale przeszukałem już trochę forów i nie mogłem znaleźć rozwiązania mojego problemu.
plik tmptree.h
#ifndef TMPTREE_H
#define TMPTREE_H
template <class T> class TmpTree
{
public:
class TreeNode
{
public:
T Data;
TreeNode* Parent;
TreeNode* RightSon;
TreeNode* LeftSon;
TreeNode(T& data);
};
TreeNode* Root = NULL;
void Insert (T& newData);
TreeNode* Search();
protected:
private:
};
#endif // TMPTREE_H
plik tmptree.cpp
#include "tmptree.h"
template <class T> TreeNode* Search(TreeNode* start, T sData)
{
if(start->Data = sData)
{
return start;
}
else if(sData < start->Data && start->LeftSon != NULL)
{
return Search(start->LeftSon , sData);
}
else if(start->RightSon != NULL)
{
return Search(start->RightSon , sData);
}
return NULL;
}