我有一个链表类。它包括一个复制构造函数:
LinkedListStorage(const LinkedListStorage &other) :root(NULL)
{
size = other.size;
count = other.count;
node *cur = other.root;
node *end = NULL;
while(cur->next != NULL)
{
node* x = new node;
x->word = cur->word;
if(!root)
{
root = x;
end = root;
}
else
{
end->next = x;
end = x;
}
cur = cur->next;
}
}
在类中,我通过一种将链接列表写入文件的方法运行它,但是,虽然所述方法适用于原始列表,但列表的复制版本会导致访问冲突,逐步遍历列表作为列表的最终条目被复制按预期指向 0x00000000,但是当它到达写入函数时,最后一个节点的指针最终指向 0xcdcdcdcd,在尝试复制和使用写入函数之间没有代码运行,所以它必须是复制构造函数,但是我一生都无法弄清楚哪里出了问题。
在此先感谢您的帮助!