2

我的程序运行到调用new关键字会导致上述错误的地步。即char* a = new char[100]。错误是可重现的,并且每次都可以重现。我运行程序直到调用new关键字。似乎内存位置已损坏,但我不确定他的问题是什么。

此错误的可能原因是什么?

4

1 回答 1

10

此错误表示您已损坏系统内存管理器的簿记数据。这种损坏通常是错误使用指针的结果,例如

  • 使用未初始化的指针
  • 在它引用的内存被释放后使用指针(释放可能通过另一个指针发生)
  • 在数组范围之外写入
于 2010-10-01T13:02:42.013 回答