gpt4 book ai didi

c++ - program.exe : 0xC0000005: Access violation reading location 0xCCCCCCD0 中 0x010F2F1C 处未处理的异常

转载 作者:行者123 更新时间:2023-11-28 06:34:54 26 4
gpt4 key购买 nike

我似乎无法弄清楚为什么我会收到这样的错误:我正在尝试实现链表并插入到列表中,但是在我的第三行代码中出现访问错误。错误:

Unhandled exception at 0x010F2F1C in program.exe: 0xC0000005: Access violation reading location 0xCCCCCCD0.

在我的主要 ()

list2.InsertNode(1, test);
cout << "cout << list2 " << endl;
cout << list2 << endl;

插入方法

void NodeSLList::InsertNode(int nodeNum, const IntNode &node)
{


IntNode *prevNode = head;
for (int i = 1; i < nodeNum; i++)
prevNode = prevNode->next;

IntNode * insert;
insert = new IntNode(node);
prevNode->next = insert;

insert->next = prevNode->next->next;

}

第三行出现错误cout << list2 << endl; (“<<”重载输出链表)

ostream & operator<<(ostream & output, NodeSLList & list)
{
int size;
size = list.GetSize();
output << "List: ";
for (int i = 1; i <= size; i++)
{
output << list.RetrieveNode(i).data<<" ";
}
return output;
}

更具体地说,当调用 << 运算符并调用 GetSize 方法时,错误发生在此处:

    p = p->next;

获取大小方法:

int NodeSLList::GetSize()
{
// check to see if the list is empty. if
// so, just return 0
if (IsEmpty()) return 0;

int size = 1;
IntNode *p = head;
// compute the number of nodes and return
while (p != tail)
{
// until we reach the tail, keep counting
size++;
p = p->next;
}
return size;
}

最佳答案

0xcc 或 0xcccccccc 是 MSVC 用于初始化未由您的程序显式初始化的局部变量的模式(如果设置了/GX)。

如果您的 p->next 访问 0xCCCCCCD0 失败,这表明您的指针 p 是 0xCCCCCCCC。查看您未在此处发布的构建列表的代码,并检查您是否始终将 next 设置为正确的值。

关于c++ - program.exe : 0xC0000005: Access violation reading location 0xCCCCCCD0 中 0x010F2F1C 处未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26926605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com