这是我的第一篇文章,很抱歉,如果没有问好。动态内存删除功能
基本上我有动态内存的麻烦,我想知道这是否是我误解的概念,或功能中的至少一个。好的,所以我使用的是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