當我嘗試在我的代碼中釋放爲矩陣分配的內存時,出現問題。 我使用這個功能:釋放內存,Windows已經觸發了一個斷點
void free_matrix(float **m, int row)
{
for(int i=0; i<row; i++)
{
free(m[i]);
}
free(m);
}
但我不知道爲什麼它不工作,我得到這個錯誤:
Windows has triggered a breakpoint in mycode.exe.
This may be due to a corruption of the heap, which indicates a bug in mycode.exe or any of the DLLs it has loaded.
This may also be due to the user pressing F12 while mycode.exe has focus.
請說明你如何使用矩陣'm'。我很確定錯誤不在這個代碼片段中,儘管Visual Studio可能實際上在這個函數中彈出錯誤消息... –
請讓我們看看分配代碼。即您的malloc調用。 –
使用適當的類將解決此問題。即使'std :: vector>'也比'float **'更好。 –
MSalters