1067错误:C++菜鸟求助!!

来源:百度文库 编辑:神马品牌网 时间:2024/05/08 18:10:28
#include<iostream.h>
#include<iomanip.h>
void average(const int,int);

int main()
{
const int responsesize=9;
int response[responsesize]={6,7,8,9,8,7,8,9,8};

average(response,responsesize);

return 0;

}
void average(const int answer[],const int answersize)
{
int total;
cout<<"\n**********\n平均数\n**********\n"<<endl;
for(int i=0;i<answersize;i++)
{
total+=answer[i];
}
cout<<"这个数组的平均数为: \n"
<<setiosflags(ios::fixed|ios::showpoint)
<<setprecision(4)
<<(float)total/answersize<<endl;

}
error C2664: 'average' : cannot convert parameter 1 from 'int [9]' to 'const int'

为啥会出错呢,谢谢
知道答案了,呵呵,第三行的const int 改为const int[]就好了。。

void average(const int answer[],const int answersize)
中的const int answer[] 改为 const int *answer
试一下。

你的函数传递参数的第一个出错,传过来的是个整形数组,而实际你的函数规定是个常数数组(有这种东西吗)
void average(const int answer[],const int answersize)
改const int answer[],为int answer[],