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

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;
}

精慕HU
浏览 80回答 3
3回答

至尊宝的传说

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

PIPIONE

void haha(int*s[])改为void haha(int *s) 或 void haha(int s[])(因为int *s[] 为指针数组)另外haha,hehe函数都没有返回值。

慕姐8265434

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