我已经有几天这个问题而且我找不到如何修复它 . 我从来没有像这样的错误:
myproject.exe中的0x00511e0e(msvcr100d.dll)处的未处理异常:0xC0000005:访问冲突写入位置0xfdfdfdfd .
我真的不知所措 . 有帮助吗?
0xfdfdfdfd 是MSVC调试堆实现(details here)中的一个神奇值,'s put as a canary directly before and behind an allocated region of storage. Somehow you'将其用作指针并写入它 .
0xfdfdfdfd
由于您认为没有必要显示任何代码,因此很难确定错误是什么 . 我怀疑两件事之一:
您分配一个指针数组并使用未初始化的最后一个元素后面的"element",或者(更有可能)
您分配一个对象数组(或可能是一个向量),其第一个数据成员是指针并执行相同的操作 .
我认为后者更有可能的原因是在未完成时使用指针数组中的指针会在你结束之前中断,所以你必须从最后开始,这将是一件不寻常的事情 .
1 回答
0xfdfdfdfd
是MSVC调试堆实现(details here)中的一个神奇值,'s put as a canary directly before and behind an allocated region of storage. Somehow you'将其用作指针并写入它 .由于您认为没有必要显示任何代码,因此很难确定错误是什么 . 我怀疑两件事之一:
您分配一个指针数组并使用未初始化的最后一个元素后面的"element",或者(更有可能)
您分配一个对象数组(或可能是一个向量),其第一个数据成员是指针并执行相同的操作 .
我认为后者更有可能的原因是在未完成时使用指针数组中的指针会在你结束之前中断,所以你必须从最后开始,这将是一件不寻常的事情 .