C++ 异常已处理这是Nullptr吗?

C++ 异常已处理这是Nullptr吗?,c++,pointers,nullpointerexception,unhandled-exception,nullptr,C++,Pointers,Nullpointerexception,Unhandled Exception,Nullptr,我一直在做这个任务,遇到了一个好几个小时都无法修复的错误。这是说引发了未处理的异常,读访问冲突。我听说你不应该尊重nullptrs,但是我不相信我在做什么 void Linkedlist::insertnode(字符串键、字符串值){ Node*newNode;//指向以下节点 Node*cursor;//这将遍历列表 newNode=newNode;//创建一个新节点 newNode->data=newhashEntry(键,值);//初始化数据 newNode->next=nullptr;/

我一直在做这个任务,遇到了一个好几个小时都无法修复的错误。这是说引发了未处理的异常,读访问冲突。我听说你不应该尊重nullptrs,但是我不相信我在做什么

void Linkedlist::insertnode(字符串键、字符串值){
Node*newNode;//指向以下节点
Node*cursor;//这将遍历列表
newNode=newNode;//创建一个新节点
newNode->data=newhashEntry(键,值);//初始化数据
newNode->next=nullptr;//在开始时将后面节点的指针留空;
如果(!头){
head=newNode;//如果head为空,这将使第一个用户输入head
返回;
}
否则{
光标=头部;
while(光标->下一步)
;       
//我们将遍历列表以向尾部添加新节点
cursor->next=newNode;//现在顺序无关紧要,因为它们是字符串,所以我们将新集群添加到尾部
}
}
“读取访问冲突”很可能是未初始化的变量。当您试图从程序内存之外的内存访问数据时,就会发生这种情况。这是系统的一种保护机制,防止您覆盖不应该覆盖的数据

因此,我建议检查类
HashEntry
的定义,以及指针
head
的定义,它不在发布的代码中

在我看来,你的无限循环
while(cursor->next)

我知道你想做什么——迭代元素,直到你在列表的末尾。但您必须使用迭代器:

Node* iterator = cursor;
while (iterator)
{
  iterator = iterator->next;
}

请发一封信。您最有可能通过
->
解除对它的引用。
头在哪里
初始化?
while(光标->下一步)
是一个无限循环。
中唯一可以为空的是
链接列表
。您是如何创建此实例的?请不要发布文本图片,发布文本。(并且是
Linkedlist
实例的
this
为空。您在某处使用了无效的
Linkedlist*
。您可能会因为假设问题的原因必然在您发现问题的点附近而陷入困境。)