我正在构建一个简单的 AVL 树,并从 GCC 收到以下编译器错误:
错误:“*”标记之前的预期构造函数、析构函数或类型转换
实现文件中的 min 和 max 函数声明都会收到错误。
以下两个成员函数存在问题:
template <typename T>
tree_t<T>::node_t* tree_t<T>::min(node_t* t) const
{
node_t *temp = t;
while(temp->left != NULL)
{
temp = temp->left;
}
return temp;
}
template <typename T>
tree_t<T>::node_t* tree_t<T>::min(tree_t<T>::node_t*) const
{
node_t *temp = t;
while(temp->left != NULL)
{
temp = temp->left;
}
return temp;
}
这是声明:public:
node_t* min(node_t* t) const;
node_t* max(node_t* ) const;
这是类和 node_t 结构声明
template <typename T>
class tree_t
{
private:
struct node_t
{
T data;
node_t *left;
node_t *right;
int height;
int bal;
node_t(const T& Element, node_t *lt, node_t *rt, int h = 0)
: data(Element), left(lt), right(rt), height(h) {};
};
node_t * root;