问题不在于析构函数。我只是确信这一点。我将回顾我的计划的其余部分。
这是我对链表的声明:
// linked list of links
struct LinkedNode {
Linked data;
LinkedNode* next;
LinkedNode (const Linked& link); //ignore, not a concern at them moment
};
LinkedNode* firstLink;
LinkedNode* lastLink;
这是我的析构函数实现:
Portion::~Portion(){
while(firstLink != NULL){
LinkedNode *temp = firstLink;
firstLink = firstLink->next;
delete temp;
}
lastLink = NULL;
}
我不明白为什么我会出现分段错误。我已经尝试删除lastLink和firstLink,然后分别删除。我也做了同样的操作,但也将它们设置为NULL。我是不是错过了什么?