调用new关键字C++时,Glibc检测到malloc()内存损坏(0xb6179bb8)

Les*_*ieg 2 c c++ glibc

我的程序运行到调用new关键字会导致上述错误的程度.即char* a = new char[100].该错误每次都是可重现的.我运行程序直到调用new关键字.这似乎是内存位置在这一点上被破坏了,但我不确定他的问题是什么.

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

Bar*_*nau 10

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

  • 使用未初始化的指针
  • 在它引用的内存之后使用指针已被释放(释放可能是通过另一个指针发生的)
  • 在数组边界外写字