以下代码来源于C++书籍:
为什么这个公共成员Link* next没有类型参数?
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
}
};
我认为应该是
Link<E>* next
。请告诉我为什么它没有模板参数。
template <typename E> class Link { ... };
中,没错。 - Barry