[英]Dealocating 2d arrays pointers
我究竟做錯了什么? 我使用new進行分配,但是當我嘗試刪除[]時,出現了錯誤。
mycode:
int** ma;
int n;
int m;
m = nr_col_lin;
n = nr_col_lin;
ma = new int*[m];
for(i = 0; i < m; i++)
ma[i] = new int[n];
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
ma[i][j] = 0;
}
}
和脫位:
for(int i = 0; i < m; ++i)
delete[] ma[i];
delete [] ma;
編輯:
我發現了問題...這不在代碼中...我正在刪除未分配的內容。
您的代碼絕對沒有錯。 這十分完美。 假設nr_col_lin
已使用某個有效值初始化,即確保其不為0
或負數,則nr_col_lin
必須位於其他位置。 如果它是size_t
或一些無符號整數值,請確保m
和n
大於0。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.