我正在为学校编写一个编码分配,要求我们使用数组而不是向量(重点是学习指针和内存管理)。我遇到的问题是我无法删除从函数返回的指针 - 下面是我正在谈论的一个例子。
int* rndFunc(){
int *rndValue = new *int[5];
return rndValue;
}
int main(void){
int *foo;
foo = rndFunc();
delete[] foo; //this is the issue, I get an invalid pointer error.
}
答案 0 :(得分:1)
int* rndFunc(){
int *rndValue = new int[5]; // instead of int *rndValue = new *int[5];
return rndValue; // Instead of return bar;
}