Mình tạo 1 lớp Link:
template <typename E>
class Link
{
private:
static Link<E>* freeList;
public:
E element;
Link<E>* next;
Link(const E& elemVal, Link<E>* nextVal) { element = elemVal; next = nextVal; }
Link(Link<E>* nextVal) { next = nextVal; }
Link() {}
void* operator new(size_t)
{
if (freeList==NULL) return ::new Link;
Link<E>* temp=freeList;
freeList=freeList->next;
return temp;
}
void operator delete(void* ptr)
{
((Link<E>*)ptr)->next=freeList;
freeList=(Link<E>*)ptr;
}
};
Nó báo lỗi undefined reference to freeList. Mình không hiểu tại sao lại như vậy ạ?
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?