gpt4 book ai didi

For 循环中的 C++ 段错误

转载 作者:行者123 更新时间:2023-11-30 02:07:53 25 4
gpt4 key购买 nike

直到索引 19 的最后一个值之前一切正常。事实上,所有值都被打印出来了,什么没有。一旦它打印出最终值和索引,它就会对故障进行分段。我假设这是因为它试图访问第 20 个值。我该如何防止这种情况发生?

主文件代码:

int index = 0;
while (index < list.length())
{
cout << list.getNextItem(index) << " " << index << "\n";
index++;
}

标题代码:

template <class Type>
Type doublyLinkedList<Type>::getNextItem(const Type& val) const
{
nodeType<Type> *current; //pointer to traverse the list

current = first; //set current to point to the first node

for (index=0; index < val; index++)
{
if (current != NULL)
{
current = current->next;
}
}
return current->info;
}//end getNextItem

最佳答案

for (index=0; index < val; index++)
{
if (current != NULL)
{
current = current->next;
}
}
return current->info;

您将 current 分配给 current->next。当它为 null thencurrent 为... null 时,您尝试返回 current->info

至少这是我的怀疑;您发布的代码不完整,不可能给您一个具体的答案……但这看起来确实是罪魁祸首。

关于For 循环中的 C++ 段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7439710/

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