关于调用函数后创建数组

来源:百度知道 编辑:UC知道 时间:2024/05/28 04:26:55
我用这样的方法传址为什么不行?函数声明如下,因为想调用函数后数组array的值也随着改变,所以用引用的方法。

int creat(int &array[10][10])
...函数没有返回任何值。

但是编译器报错:declaration of‘array' as array of references.
为什么会这样?应该怎么来修改它?

看你用的什么编译器.
如果用比较原始的TC编译的话,函数声明成
int create(int * array)
就可以了,使用时访问array[x][y]写成 *(*(array+x)+y)就行了。

如果用VC6或更高版本的VC,类型检查很严格,这种数组不好用。
直接用标准C++里面的array类型就可以了。

函数内不要申请内存。容易造成内存泄露。你可以在函数外申请内存,然后把地址作为入参,传进去修改变量的值。

int create(int ** array)
调用时 create(array)