永发信息网

调用函数sumetc(a);时出错:cannot convert parameter 1 from 'int [6][6]' to 'int ** ' 为什么???

答案:3  悬赏:80  手机版
解决时间 2021-03-26 11:55
调用函数sumetc(a);时出错:cannot convert parameter 1 from 'int [6][6]' to 'int ** ' 为什么???
最佳答案
首先变量a和指针运算符*结合,表明这是一个指针,然后再和第二个*结合表明这个指针指向的是一个指针的地址。因此应将一个指针的地址赋给变量a才是正确的,比如
int b=1; int *p=&b; int **a=&p;
再如
int *&a; 分析:首先变量a与&运算符结合,表明变量a是一个引用,然后再与*指针运算符结合,表明这个引用引用的是一个指针,因此应将一个指针赋给变量a,比如
int b=1; int *p=&b; int *&a=p;
所以int sumetc(int **a) 中 **a应该是一个整形变量,而你在函数内部却将其当做一个2维数组使用“sum2+=a[i][j];”,所以程序编译的时候才会出现:cannot convert parameter 1 from 'int [6][6]' to 'int ** ' 的错误提示。即不能转换2维整形数组到整形变量。
建议将函数定义修改成:int sumetc(int a[6][6])
全部回答
要么你把这句:int sumetc(int **a)
改成下面的形式: int sumetc(int a[][6]);
要么你把代码发上来.
不管怎么样,你的函数头还是有问题的.
你先按上面 改下试试..
你的sumetc函数第一个参数类型给错了呗!
1、int sumetc(int **a) 改成a[6][6].
2、还有一种方法就是,将你的数组名字作为指针传给 sumetc((int **)数组名),(int**)进行强制转换。但是这个是不安全的。可能运行如常但是结果可能有偏差。仔细查看一下。最好用第一个,如果出现程序问题就是第一就是改程序设计(class
设计)第二个就考虑改数据结构。
好运。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
微山吧,到底有几个真正的美女也,纠结
手机名称为什么是HM NOTE 1S CU
一夜之间思域火了,所有豪车都在喊话思域,思
轴向拉伸和压缩,扭转和弯曲的内力名称分别是
—Isthereanypossibility_________youcouldpi
20台2P挂机,4台4P的柜机,一个3000W的冷库,
电梯夹绳器应安装在钢梁上还是钢梁下
中国移动主号副号和业务副号有实体卡吗?
8/9加5/3减29/27括号乘以27。
被网上的S缠上了怎么办
招商雍华府物业电话
狗狗为什么见到人就摇尾巴
哪些星座EQ和IQ都非吣
关于公司的银行基本账户往来账款。
重庆大学好还是西南大学好、美术专业
推荐资讯
求救为什么iPhone6没有音乐播放器可以导入本
绿色出行有什么用
这什么人情世故
各种MOS管的参数值在哪里能查询到?
诛仙捐献奇珍任务怎么做?
一些与鸟类亲缘关系较近的恐龙应该长有羽毛一
斗破苍穹有声小说打包下载求网址
解原式(-1)×(-5╱4)×8╱15×3╱2×(-2
哪个牌子的1000多的死飞平花车架好。。。~?
古代人请客到家里做客怎么说
若有十棵树,种五行,每行四棵,你会吗?想—
什么是c13插头
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?