У меня есть класс BST такой же, как в эта тема
BST.hpp
template<class T>
class BinarySearchTree
{
private:
struct tree_node
{
tree_node* left;
tree_node* right;
T data;
tree_node( const T & thedata, tree_node * l = NULL, tree_node * r = NULL )
: data( thedata ), left( l ), right( r ) { }
};
tree_node* root;
public:
//some functions
private:
struct tree_node* minFunc( tree_node** node);
};
Я пытался вернуть указатель из функции, как это сделано в эта ветка.
определение minFunc находится в том же файле BST.hpp
template <class T>
struct tree_node* BST<T>::minFunc(tree_node** node)
{
tree_node* current = *node;
while(current->left != NULL)
{
current = current->left;
}
return current;
}
Не удалось выяснить ошибки компиляции:
ошибка C2143: синтаксическая ошибка: отсутствует ';' до '*'
ошибка C2065: 'T': необъявленный идентификатор
ошибка C2955: 'BST': использование шаблона класса requires список аргументов шаблона
ошибка C2509: «minFunc»: функция-член не объявлена в «BST»
все это указывает на определение
BST
в .cpp? - person Node   schedule 29.05.2011;
, компилятор вводит в заблуждение. - person cnicutar   schedule 29.05.2011