Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 上次插入时出现链表错误_C++_Linked List - Fatal编程技术网

C++ 上次插入时出现链表错误

C++ 上次插入时出现链表错误,c++,linked-list,C++,Linked List,我这里有这部分代码 这是为了循环5次(最多5次)将单词插入链接列表 for ( int i = 0 ; i < MAX ; i++ ) { string alphabet = G->returnAlphabets(); L[i]->addWords(alphabet[i]); } 我的问题是它在最后一个循环中给了我错误。这意味着在MAX=4时,插入节点。循环的其余部分很好。当我将最大值减少到4时,意味着它循环4次,程序是无错误的,但当程序循环5次时,它会给出

我这里有这部分代码

这是为了循环5次(最多5次)将单词插入链接列表

for ( int i = 0 ; i < MAX ; i++ )
{
    string alphabet = G->returnAlphabets();

    L[i]->addWords(alphabet[i]);
}
我的问题是它在最后一个循环中给了我错误。这意味着在MAX=4时,插入节点。循环的其余部分很好。当我将最大值减少到4时,意味着它循环4次,程序是无错误的,但当程序循环5次时,它会给出错误

有人能指出我的错误吗

编辑:

我检测到,在最后一个循环中,它没有到达第一个节点。

而且程序从文件中得到的信息是,它在进入第一个节点时出错,而(!myfile.eof())的逻辑是错误的,因为您没有检查
getline(myfile,line)成功,然后在检测到EOF时继续使用该值。您应该使用:

while (getline(myfile, line))
{
    ...rest of loop...
}
(对我来说)如果不仔细检查手册或标准,
在失败的
getline()
之后的状态是什么,就不清楚了,但这很容易导致
行[0]
失败


既然您说“它在最后一次迭代中失败了”,这可能是您的问题的主要原因。

它有什么问题?可以详细说明吗?它不完整,无法编译或运行?这是一个很好的开始。例如,第一个代码段中的
L
是什么。它运行,但在最后一个循环中给出错误。循环的其余部分没有问题。@PohSun,最后一个循环上的错误听起来和我提到的完全一样。链接解释得很好。尝试了你的解决方案,但程序仍然给我错误。嗯,当我尝试使用MAX=4时,意味着我循环了4次,它可以工作。但当循环5次时,它会给我errorOK-然后我们需要(a)您的代码和(b)您的数据。如果两者都没有,很难确定你的问题是什么。请学习如何创建SSCCE()。
while (getline(myfile, line))
{
    ...rest of loop...
}