新手请教
主函数中调用一个函数:
void fuction(int array[],length)
{
//因为数组无法值传递,怕修改主函数中的数组,所以打算在function函数中新建一个数组来操作
int _array[length];
}
结果出错,说cannot allocate an array of constant size 0
改为
void function(int array[],length)
{
int* _array;
array = new int[length];
}
这样就可以了
我想问一下,为何第一种方式不能使用传过来的length,第二个却可以呢?