#include <iostream.h>
template <class T>
void Array(T **&x,int row,int clu) //申请新的二维数组
{
int i;
x=new T*[row];
for(i=0;i<row;i++)
x[i]=new T[clu];
}
template <class T>
void Del2dArray(T **&x,int row) //释放二维数组
{
int i;
for(i=0;i<row;i++)
delete []x[i];
delete []x;
x=0;
}
template <class T>
void change(T**&ne2,T **&old,int o,int nr,int nc) //动态改变数组size
{
Array(ne2,nr,nc);
int i;
for(i=0;i<o;i++)
ne2[i]=old[i];
cout<<ne2[0][1]<<endl;
}
void main()
{
int **c;
int i,j,o=1;
Array(c,3,4);
for(i=0;i<3;i++)
for(j=0;j<4;j++)
c[i][j]=o++;
int **n;
change(n,c,3,10,20);
cout<<n[0][1]<<endl;
Del2dArray(n,10);
}
前两天写的,还有点问题,我也不知道为什么