0

假设你主要有这个

int* test;
test = createArray(test);

这是功能

int * creatArray(int* temp)
{
    temp = new int [35];
    return temp
}

为什么需要将分配的空间返回给指针,而不是像通过引用调用指针一样?或者更改值而不返回它?

4

1 回答 1

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
于 2013-06-04T06:20:07.817 回答