不要告诉我google,因为我在过去的48小时内完成了这项工作。 这是我的问题;我创建了一个执行许多itterations的lon程序;但在很少的尝试中,这个错误来了......
Critical error detected c0000374
Project.exe has triggered a breakpoint.
The program '[4452] Project.exe' has exited with code 0 (0x0).
因此,Visual Studio 2012打开newaop.cpp;其中包含几行
// newaop -- operator new[](size_t) REPLACEABLE
#include <new>
void *__CRTDECL operator new[](size_t count) _THROW1(std::bad_alloc)
{ // try to allocate count bytes for an array
return (operator new(count));
}
/*
* Copyright (c) 1992-2007 by P.J. Plauger. ALL RIGHTS RESERVED.
* Consult your license regarding permissions and restrictions.
V5.03:0009 */
指着回归线...... 我搜索了这么多;没什么作用;问题在于,我的程序适用于少量itterations 我试图找到生成这个错误的指令(与cout&#39; s),我找到了这个循环
for (int i = OriginalCadre.X.x + 1; i < OriginalCadre.X.x + OriginalCadre.height; i++){
for (int j = OriginalCadre.X.y + 1; j < OriginalCadre.X.y + OriginalCadre.width; j++){
QuantityColor[Pattern_init[i][j]] ++;
}
}
这个循环适用于几乎没有的事情;这很奇怪!
答案 0 :(得分:1)
Critical error detected c0000374
表示堆损坏,这意味着你可能会对内存做坏事,例如:在缓冲区结束后写入,或者在缓冲区被释放回堆之后写入缓冲区。
我没有在那个小循环中看到任何故事迹象,但你可能正在写过QuantityColor的内存位置或类似的东西。