访问冲突写入位置0xfdfdfdfd

时间:2014-12-09 07:13:12

标签: c++ location access-violation cplex writing

我已经有这个问题了几天了,我找不到任何关于如何修复它的问题。我从来没有像这样的错误:

  

myproject.exe中0x00511e0e(msvcr100d.dll)的未处理异常:   0xC0000005:访问冲突写入位置0xfdfdfdfd。

我真的不知所措。有什么帮助吗?

1 个答案:

答案 0 :(得分:3)

0xfdfdfdfd是MSVC调试堆实现(details here)中的一个神奇值,它在分配的存储区域之前和之后直接作为金丝雀放置。不知何故,你将它用作指针并写入它。

很难确定错误是什么,因为您认为没有必要显示任何代码。我怀疑两件事之一:

  1. 您分配一个指针数组并使用未初始化的最后一个元素后面的“元素”,或者(更有可能)
  2. 您分配一个对象数组(或可能是一个向量),其第一个数据成员是指针并执行相同操作。
  3. 我认为后者更可能的原因是在未完成时使用指针数组中的指针会在你结束之前中断,所以你必须从最后开始,这将是一件不寻常的事情。 / p>