-1

这是我的原始帖子:打开文件后程序崩溃

我一次又一次地尝试修复我的代码,但它仍然崩溃或无法控制地运行。我还没有找到解决方案。

这是我更新的代码:

while(!intInputFile.eof())
{
   intNode* anotherInt;
   anotherInt = new intNode;
   if(intList==NULL)
   {
       intList = anotherInt;
       lastInt = anotherInt;
   }
   else
   {
      lastInt->nextNode = new intNode;
      lastInt = lastInt->nextNode;
      lastInt->nextNode = NULL;
   }
   lastInt->intValue = fileInt;
   lastInt = lastInt->nextNode;
   lastInt->nextNode = NULL;
   intInputFile >> fileInt; // *** Problem occurs on this line. ***
}
4

1 回答 1

2

问题是您要更新 lastInt 两次:

else
{
   lastInt->nextNode = new intNode;
   lastInt = lastInt->nextNode;
   lastInt->nextNode = NULL;
}

lastInt->nextNode 现在为 NULL

lastInt->intValue = fileInt;
lastInt = lastInt->nextNode;

现在 lastInt 是 NULL

lastInt->nextNode = NULL;

现在您正在取消引用空指针并导致异常。您不应该在 else 之后更新 lastInt 。

于 2012-12-19T04:57:25.057 回答