我有這樣一段代碼(在功能abc
)新不分配內存?
matriz = new (nothrow) int*[qnt_objetos];
if (matriz == 0)
exit(0);
for (int i = 0; i < qnt_objetos; i++)
{
matriz[i] = new (nothrow) int[tam_mochila];
if (matriz[i] == 0)
exit(0);
}
matriz
是聲明爲這樣的二維陣列(上主)
int **matriz = NULL;
但是存儲空間不分配時使用new
運算符。我做錯了什麼?另外,直接在main
函數中分配內存會更好嗎?這不會讓代碼變得難以辨認嗎?
PS:調試它的NetBeans(或終端),我得到了matriz
ADRESS = 0x0
(NULL
,如果我沒有記錯)
您的代碼顯示正常。你有什麼證據支持沒有分配內存的想法? –
我不認爲'matriz'是一個二維數組;它是一個指向指針的指針,可以將其初始化,以使'matrix [i] [j]'像二維數組一樣工作。 –