新开1.76变态传奇网站:关于C++语言的问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/02 18:16:14
C++里可以这样做吗? 如下:

int m,n;
int a[m][n];
cin>>m>>n;

不能。非动态数组的维数必须是个常量表达式,必须在编译时刻就能确定其值。
而且,即使是动态创建数组,除第一维可以用运行时刻表达式来指定,其他维也必须是常量表达式。
即只能如下所写:
int m;
const int n=10;//第二维维数
cin>>m;
int (*array)[n]=new int[m][n];

其实二维的也可以用一维来表示嘛。
int m,n;
cin>>m>>n;
int* a=new int[m*n];