【问题标题】:Debug Assertion Failed: _CrtIsValidHeapPointer(block)调试断言失败:_CrtIsValidHeapPointer(block)
【发布时间】:2016-04-03 16:37:40
【问题描述】:

我写了一个模拟矩阵的代码。 这个矩阵有一个指向指针的指针,实际上它是一个链表数组。我有其中两个 - 一个用于行,第二个用于列。 每个数组索引它的矩阵行/列第一位,列表是rox/col中的其余数字。

我可以发送代码,但它不短。

我的问题是,在我做了一些动作之后,我试图在最后删除矩阵 - 它弹出我这个失败的问题。 我试图更改我的代码,发现问题出在这里:

delete this->rowsArray;
this->rowsArray = newRowArray; ->here


delete this->colsArray;
this->colsArray = newColArray; ->here

rowsArray 和 colsArray 像这样初始化:

rowsArray = new matrixNode*[lastRowPlace+1]; colsArray = new matrixNode*[lastColPlace+1];

newColsArray 和 row 也一样... 我希望你能给我一个建议,因为我真的不知道该怎么做:(

**只是忘了说问题只是在析构函数中弹出......

【问题讨论】:

标签: c++ debugging matrix assertions


【解决方案1】:

如果你定义了一个指针,比如new T* [size]

你应该用delete[]而不是delete删除它

【讨论】:

  • 您的意思是而不是删除吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-09
  • 1970-01-01
相关资源
最近更新 更多