Объявление шаблона:
template <typename DataType>
class BST
и ошибка, которую я продолжаю получать, - это bst.h(101): см. ссылку на компилируемое создание экземпляра шаблона класса "BST::BinNode" bst.h(183): см. ссылку на компилируемое создание экземпляра шаблона класса "BST"
Я думаю, что мой синтаксис может быть неправильным, но я не уверен, что насчет этого. Может ли кто-нибудь подтолкнуть меня в правильном направлении. Я просто не могу заставить его скомпилировать. Класс BinNode является закрытым классом основного класса BST. Строка, на которую ссылается ошибка, также является DataType BinNode::treeheight(BinNode * p)
private:
/***** Node class *****/
class BinNode
{
public:
DataType data;
BinNode * left;
BinNode * right;
DataType treeheight(BinNode * p);
template <typename DataType>
DataType BinNode::treeheight(BinNode * p)
{
if(p != 0)
{
int heightl = treeheight(p->left);
int heightr = treeheight(p->right);
}
if(heightl > heightr)
return heightl;
else
return height r;
}