這是我的第一篇文章,很抱歉,如果沒有問好。動態內存刪除功能
基本上我有動態內存的麻煩,我想知道這是否是我誤解的概念,或功能中的至少一個。好的,所以我使用的是C++,我需要管理一個在主程序循環內改變大小的數組,但是當我嘗試刪除內存時,我總是收到一個堆錯誤。 (下面是我想要做的簡化版)。
void main(void)
{
//Initialization
//main loop
while(true)
{
int* array;
function(&array);
printf("test %d",array[0]); //basically use the data
delete [] array;
}
}
//in separate file
void function(**int val)
{
*val=new int[size of array] // i pass the size of the array...
//to the function as well
//fill the array with data
return;
}
好了,所以在此之後我就可以讀取數據,因此必須連接到指針「數組」,但那麼爲什麼它不會讓我刪除這些數據,就好像它已經被刪除了?
任何意見將不勝感激thanx。
你可以發佈原代碼,好像你可能會粉碎你的堆棧。 – Geoffrey
該代碼不會編譯;你在函數聲明的參數列表中有'** int val'。 – tmyklebu