C++中有关二维数组的问题

1.[错误] 无法将 “int () [3]” 转换为 “int () [100]”, 用于参数 “1” 到 “void 替换” (int (*) [100], int, int) "
问题:无法直接将int a[][]作为参数
原因:二维数组中是按一行一行进行存储,存储在连续的内存地址中。如果未定义相应的行与列,那么其在存储过程中很难判断哪里断开,无法形成二维数组。
解决方法:
定义相应的行与列。如 int a[][100]或int(*a)[3]
2.
在main函数中定义了两个a[100],b[100]的字符数组,cin>>a,cin>>b试图在子函数中定义一个二维数组[][]来存储这两个数组的内容并对其进行修改,用了int m[100][100]
问题:无法进入子函数
原因:在子函数中定义二维数组时应用你定义的a,b的具体长度来定义
解决方法:
int row=strlen(a),int col=strlen(b);
int m[row][col];

猜你喜欢

转载自blog.csdn.net/Dreamer_jane/article/details/83627065
今日推荐