让我们说你在主
中有这个int* test;
test = createArray(test);
这是功能
int * creatArray(int* temp)
{
temp = new int [35];
return temp
}
为什么需要将分配的空间返回到指针而不是指针,就像它是通过引用调用一样?或者更改值而不返回它?
答案 0 :(得分:0)
为了通过引用进行调用,应该声明:
void creatArray(int* &temp)
{
temp = new int [35];
}
另一种选择是传递指向变量的指针(类型为“指向int的指针”):
void creatArray(int** temp)
{
*temp = new int [35];
}
...
createArray(&test); // take a pointer to variable