template<typename DataType>
class AVLTree
{
public:
private:
class AVLNode
{
public:
DataType data;
int balanceFactor;
AVLNode *left;
AVLNode *right;
AVLNode():balanceFactor(0),left(NULL),right(NULL){}
AVLNode(DataType item):balanceFactor(0), data(item),left(NULL), right(NULL){}
};
typedef AVLNode* AVLNodePointer;
AVLNodePointer root;
int height(AVLTree<DataType>::AVLNodePointer temp);
int different(AVLTree<DataType>::AVLNodePointer temp);
AVLNodePointer ll_rotation(AVLTree<DataType>::AVLNodePointer parent);
};
template<typename DataType>
AVLNodePointer AVLTree<DataType>:: ll_rotation(AVLTree<DataType>::AVLNodePointer parent)
{
}
но это объявление дает ошибку компилятора. Как я могу объявить эту функцию вне класса? Просто изменить некоторую опечатку, но все еще есть ошибкиКак я могу получить доступ к функции в частном классе?
Какова ошибка компилятора? –
Говорят, что AVLNodePointer не называет тип – Tony