我目前正在尝试使用列表类私有的节点结构在列表模板类中实现排序算法。我正在使用一些私有递归函数,它们返回一个指向节点类型的指针,这会导致 g++ 给我一个声明错误。这是我所拥有的样本 -
template<class T>
class SList
{
private:
struct NODE
{
T* elem;
NODE* next;
} *_head, *_tail;
NODE* sort(NODE* node);
public:
//other declarations...
}
template<class T>
NODE* SList<T>::sort(NODE* node) //Error: 'NODE' does not name a type
{
//sorting algorithm
}
这是 c++ 的限制还是我遗漏了什么?