为了账号安全,请及时绑定邮箱和手机立即绑定

为什么老出现如下报错信息啊?

为什么老出现如下报错信息啊?

精慕HU 2022-11-18 17:13:33
cannot convert parameter 1 from 'int' to 'int *[]'?#include<iostream.h>#include<string.h>void haha(int*s[]){int i;for(i=0;i<=5;i++)cout<<"s[i] ";}void hehe(char*s){int n;n=strlen(s);}void main(){cout<<"输入5个整数";int a[5];int i,j;i=haha(a);j=hehe(a);cout<<i<<j<<endl;}
查看完整描述

3 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

你的haha() hehe()函数都要实现什么功能啊,既然是void 为什么要有返回值?
函数参数类型也不正确!
改成:void haha(int s[])

查看完整回答
反对 回复 2022-11-24
?
PIPIONE

TA贡献1829条经验 获得超9个赞

void haha(int*s[])

改为
void haha(int *s) 或 void haha(int s[])

(因为int *s[] 为指针数组)

另外
haha,hehe函数都没有返回值。

查看完整回答
反对 回复 2022-11-24
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

C++是一个强类型语言。对类型的要求很严格。
第一个调用haha(a),类型明显不匹配。你传入的是一个int*类型的地址,但你的haha原型接收的参数是一个int *[]其实是一个int **类型。肯定不匹配。
第个调用hehe(a),同样hehe接收的参数是一个char *,你传的是int*,当然可以通过强制转换,但你的hehe函数意义不太。strlen可能返回各种结果!

查看完整回答
反对 回复 2022-11-24
  • 3 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信