调试断言失败:_CrtIsValidHeapPointer(块)

时间:2015-12-29 18:43:00

标签: c++ debugging matrix assertions

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

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

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

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


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

rowsArray ad colsArray就像那样:

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

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

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

1 个答案:

答案 0 :(得分:2)

如果您定义了诸如new T* [size]

之类的指针

您应该使用delete[]而不是delete

将其删除