为什么二维数组用指针形式声明,显示实参与形参不兼容,该如何解决

慵懒易碎的云开桑 2021-03-23 03:43:09

#include<iostream>
using namespace std;
void InitMatrix(int**,int,int);
int** Multiply(int**,int**,int,int,int,int);
void Display(int**);
int main()
{ const int n=2;
const int k=3;
const int m=4;
int a[n][k], b[k][m];
int **c;//请补充c的定义
InitMatrix(a,n,k); //初始化矩阵a
InitMatrix(b,k,m); //初始化矩阵b
c=Multiply(a,b,n,k,k,m); //计算aXb
Display(c); //输出计算结果
return 0;
}
void InitMatrix(int**x,int q,int p)
{
int i,j;
int**x;
x=new int*[q];
for(i=0;i<q;i++)
x[i]=new int[p];
for(i=0;i<q;i++)
for(j=0;j<p;j++)
cin>>x[i][j];
}
int** Multiply(int**a,int**b,int n,int k,int l,int m)
{
int i,j;
int**c;
c=new int*[n];
for(i=0;i<n;i++)
c[i]=new int[m];
for(i=0;i<n;i++)
for(j=0;j<m;j++)
for(int x=0;x<k;x++)
for(int y=0;y<l;y++)
c[i][j]+=a[i][x]+b[y][j];
return c;
}
void Display(int**c)
{
cout<<c;
}
...全文
452 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢大佬,问题解决了
自信男孩 2021-03-23
  • 打赏
  • 举报
回复
#include<iostream>

using namespace std;

void InitMatrix(int***,int,int);
int** Multiply(int**,int**,int,int,int,int);
void Display(int**);

int main()
{
const int n=2;
const int k=2;
const int m=2;
//int a[n][k], b[k][m];
int **a, **b;

int **c;//请补充c的定义
InitMatrix(&a,n,k); //初始化矩阵a
InitMatrix(&b,k,m); //初始化矩阵b
c=Multiply(a,b,n,k,k,m); //计算aXb
Display(c); //输出计算结果
return 0;
}
//void InitMatrix(int**x,int q,int p)
void InitMatrix(int***x,int q,int p)
{
int i,j;
int**tmp;
tmp = new int*[q];
for(i=0;i<q;i++)
tmp[i] = new int[p];
for(i=0;i<q;i++)
for(j=0;j<p;j++)
cin>>tmp[i][j];
*x = tmp;
}
int** Multiply(int**a,int**b,int n,int k,int l,int m)
{
int i,j;
int**c;
c = new int*[n];
for(i=0;i<n;i++)
c[i]=new int[m];
for(i=0;i<n;i++)
for(j=0;j<m;j++)
for(int x=0;x<k;x++)
for(int y=0;y<l;y++)
c[i][j]+=a[i][x]+b[y][j];
return c;
}
void Display(int**c)
{
cout<<c;
}

供参考,去掉了编译警告和error;

数组传给初始化的时候,里面却用new是不可以的。

NorZ 2021-03-23
  • 打赏
  • 举报
回复
因为数组和二维指针并不是等价关系 你可以用二维指针来“模拟”数组,但是数组本身可以理解成为一种“类型”,他有一维的长度属性,而二维指针没有

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧