今天帮同学调试一个程序,实验里面要求需要用函数返回一个二元数组,原本十分钟可以解决的问题花掉了很多时间。
实验要求是这样的:
编写C++程序完成以下功能:
(1)假定矩阵大小为4×5(整型数组表示);
(2)定义矩阵初始化函数,可以从cin中输入矩阵元素;
(3)定义矩阵输出函数,将矩阵格式化输出到cout;
(4)定义矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵中;
(5)定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中;
(6)定义三个矩阵:A1、A2、A3;
(7)初始化A1、A2;
(8)计算并输出:A3 = A1加A2,A3 = A1减A2。
按照要求,addMatrix()、subMatrix()函数的输入为两个二维数组,同时返回一个二维数组
开始时尝试各种返回方式
int[][] addMatrix(int A1[][5], int A2[][5]))
{
int A[4][5];
for (int i=0;i<4;i++)
for (int j=0;j<5;j++)
A[i][j]=A1[i][j]+A2[i][j];
return A;
}
编译时报错
error: expected unqualified-id before '[' token
然后尝试了下面的写法
int*[] addMatrix(int A1[][5], int A2[][5]))
{
int A[4][5];
for (int i=0;i<4;i++)
for

本文讲述了在C++中如何正确处理返回二维数组的问题,分析了错误的返回方式导致的编译错误、运行崩溃及数据不正确的原因,并提出了通过参数传递或结构体返回的解决方案。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



