在C++中運行我的代碼時出現問題。我有一個功能和我動態使用這個代碼中定義的二維陣列中它:在C++中釋放數組時發生堆損壞錯誤
double** childs=new double *[2];
for(int i=0;i<2;i++)
childs[i]=new double[node];
的代碼工作良好,直到我決定解除分配該陣列在功能結束時,我使用以下代碼:
for(int i=0;i<2;i++)
delete []childs[i];
delete [] childs;
增加的這部分代碼後,我有問題,運行時和出現一個調試錯誤,如下圖所示:
我搜查了很多,但我沒有弄清楚問題所在。我知道這個錯誤是爲了部分解除分配,因爲當我刪除那部分代碼時效果很好。
任何人都可以幫助我嗎? 非常感謝
A因爲沒有大括號而沒有縮進,所以你在問問題。 – Borgleader
你可能寫出了分配數組的界限。或者其他一些陣列。 –
['std :: array'](http://en.cppreference.com/w/cpp/container/array)和['std :: vector'](http://en.cppreference)有什麼問題? COM /瓦特/ CPP /容器/載體)? –