访问冲突写入位置 0xfdfdfdfd

-4 c++ location writing cplex access-violation

我已经有这个问题几天了,我找不到任何关于如何解决它的信息。我从来没有遇到过这样的错误:

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

我真的不知道该怎么办。有什么帮助吗?

Win*_*ute 6

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

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

  1. 您分配一个指针数组并使用未初始化的最后一个元素后面的“元素”,或者(更有可能)
  2. 你分配一个对象数组(或者可能是一个向量),它的第一个数据成员是一个指针,然后做同样的事情。

我认为后者更有可能的原因是,在未初始化的指针数组中使用指针会在到达结束之前中断,因此您必须从最后开始,这将是一件不寻常的事情。