0

第一次尝试调用 that->getValue() 看起来不错,但只是下面的行(while 循环的头部)给了我 getValue 方法内的错误“访问冲突”。

if(first != 0){
  listElement *that = first;    

  cout << "add: " <<    that->getValue() << " | " << value  << endl; 

  while(that->getValue() < value) {..}
}

我是否在任何地方通话期间编辑该值?get 方法仅包含“返回值”....

4

1 回答 1

4

显而易见的解释是,在这段代码中

while(that->getValue() < value) {..}

{..}你正在做的里面that = that->next;设置that为空指针。

您需要that != NULLwhile循环中添加一个测试,以防止在没有找到符合搜索条件的项目的情况下到达列表末尾。

while(that != NULL && that->getValue() < value)

如果您包含了所有代码,那会有所帮助,因为代码的关键部分似乎在代码{..}块中!

于 2012-04-22T13:11:20.353 回答