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

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

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

精慕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贡献1484条经验 获得超10个赞

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

查看完整回答
反对 回复 6天前
?
PIPIONE

TA贡献1541条经验 获得超1个赞

void haha(int*s[])

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

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

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

查看完整回答
反对 回复 6天前
?
慕姐8265434

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

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

查看完整回答
反对 回复 6天前

添加回答

举报

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