0
我構建一個簡單的AVL樹,並接收來自GCC以下編譯器錯誤:AVL樹最小值和最大值函數編譯錯誤
錯誤:預期的構造函數,析構函數或類型之前,「*」標記
轉換實現文件中的最小和最大函數聲明都會收到錯誤。
以下兩個成員函數的問題:
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;
}
以下是聲明: 市民:
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;