C++调用两次会导致访问冲突
C++ call twice cause access violation
第一次尝试调用that->getValue()看起来不错,但只是下面的一行(while循环的头部)给了我getValue方法中的错误"访问冲突"。
if(first != 0){
listElement *that = first;
cout << "add: " << that->getValue() << " | " << value << endl;
while(that->getValue() < value) {..}
}
我是否在通话期间在任何地方编辑该值?get 方法仅包含"返回值"...。
显而易见的解释是,在此代码中
while(that->getValue() < value) {..}
在{..}
内,您正在执行that = that->next;
并将that
设置为空指针。
您需要在while
循环中添加that != NULL
测试,以防止在找不到符合搜索条件的项目的情况下到达列表末尾。
while(that != NULL && that->getValue() < value)
如果您包含所有代码会有所帮助,因为代码的关键位似乎在{..}
块中!
相关文章:
- 写入位置0x0000000C时发生访问冲突
- 引发异常:读取访问冲突**dynamicArray**为0x1118235.发生
- g++的分段错误(在NaN上使用to_string两次时)
- 链表中写入访问冲突的未知原因
- C++中的openCV Mat访问冲突
- 蛇在C++不会连续转两次
- C++尝试深度复制唯一指针时出现内存访问冲突
- 检查一个数组是否包含在另一个数组中,以相反的顺序,至少两次
- C++ 中动态二维数组的访问冲突
- 从嵌套循环中的 std::list 中删除将返回访问冲突
- 从具有按值捕获的 lambda 移动构造 std::函数时,移动构造函数调用两次
- 写入访问冲突异常
- 在类 12.exe 中0x7B37FF80 (ucrtbased.dll) 引发异常: 0xC0000005:访问冲突读
- 0xC0000005:访问冲突写入位置0xCDCDCDCD动态分配错误
- 我应该如何去缓解两次出现的cin?
- 在 C 代码中调用 Python 函数时第三次出现访问冲突写入位置错误
- 多次随机向量后的读取访问冲突
- 锁定文件,避免使用相同的过程以访问两次
- C++调用两次会导致访问冲突
- 当我的程序有两个不同的QGLWidget时,访问冲突