我有這樣的代碼來分配和初始化:C++刪除動態矩陣
nw = new int*[V];
for (w = 0; w < V; w++) {
nw[w] = new int[K];
for (k = 0; k < K; k++)
nw[w][k] = 0;
}
,這釋放內存:
if (nw) {
for (int w = 0; w < V; w++) {
if (nw[w])
delete nw[w];
}
程序編譯和運行,但是,當它嘗試釋放內存,失敗。 程序並不總是以相同的w值失敗。
任何想法?
無關:刪除空指針沒有不良的副作用,所以檢查完全是多餘的和不必要的。 –
但是如果nw = NULL,是「delete [] nw [w];」安全? – John