相关疑难解决方法(0)

在没有模板参数的类模板中使用类名

代码来自C++书籍,如下所示:

为什么这个公共成员Link*next没有typename参数?

template <typename E> class Link {
private:
    static Link<E>* freelist;
public:
    E element;
    Link* next;  // this line confused me....

    Link(const E& elemval, Link* nextval = NULL)
    {
        element = elemval; next = nextval;
    }
    Link(Link* nextval = NULL) { next = nextval; }
    void* operator new(size t){
        if (freelist == NULL) return ::new Link;
        Link<E>* temp = freelist;
        freelist = freelist->next;
        return temp; // Return the link
    }
};
Run Code Online (Sandbox Code Playgroud)

我认为应该是Link<E>* next.

请告诉我它没有模板参数的原因.

c++ templates

11
推荐指数
1
解决办法
1449
查看次数

标签 统计

c++ ×1

templates ×1