以下のコードは、アレイダブルフリーまたは破損オブジェクト(別の...)を削除中
for (i = j; i > 0; i--) {
myBlk *tmp = blks[i];
blks[i] = blks[i-1];
blks[i-1] = tmp;
delete tmp;
}
の先頭に要素を移動する、私が取得:
*** glibc detected *** double free or corruption (out): 0x00007fffd556ad10 ***
この文を削除しても問題はありません。しかし、私はメモリがリークするのを望んでいません...
要素を移動するために何かを削除しているのはなぜですか? – Mysticial
私はすべてを削除していません。ポインタがループ内に作成され、ループの最後にポインタが削除されます。 – mahmood
メモリ割り当てがある場合にのみdeleteを呼び出します。この場合は、この場合は持っていません。ポインタをコピーしてもメモリが割り当てられていません。だからちょうど 'delete'を取り除いてください。 – Mysticial