c++定义二维数组的不同方式:
指定大小,如:
const int MAXN = 20; int a[MAXN][MAXN];
但这样无法做为函数参数传递。
定义大小为变量:
int a[n][n];
这在vs中会报错,但是g++和clang均可编译。但是形参为动态int**时传递参数会报错:
no known conversion from ‘int [n][n]’ to ‘int **’ for 2nd argument
形参给定第二维的大小时可以传递。
动态申请内存:
int **array = new int *[size]; for(int i = 0; i可以传递给形参为int**的函数。
使用STL中的vector容器,头文件为
: vector> array(size, vector (size)); 有的版本中不能写成int>>需写成int> >。



