[Error] cannot convert 'int (*)[11][9]' to 'int**' for argument '5' to 'void LCSLength(char*, char*,

错误信息很明确:不能将 'int (*)[11][9]' 转换成 'int**'。错误的将二维数组的地址作为二级指针参数传入函数,因此导致错误。原因如下:二维数组表面是二维的,但在存储器中是连续编址的,因此可以按照一维数组来操作;二级指针不一定会像二维数组那样连续编址,二者不能等同。采用如下方式开辟二维地址单元:

int **c = new int*[11];          //先使一个二级指针指向数组指针的地址

int **b = new int*[11];

for(int i = 0; i < 11;++i)

{

       c[i] = new int [9]();        //为一级指针分配地址

       b[i] = new int [9]();

}

你可能感兴趣的:([Error] cannot convert 'int (*)[11][9]' to 'int**' for argument '5' to 'void LCSLength(char*, char*,)