C++程序的错误怎么改啊?error C2440: 'initializing' : cannot convert from 'double [15]' to 'double'

来源:百度知道 编辑:UC知道 时间:2024/06/03 18:15:30
#include<iostream.h>
double sum_aver(double b[])
{
double x=0;
double y;
int i;
for(i=0;i<=14;i++)
x=x+b[i];
y=x/15;
cout<<"sum="<<x<<"aver="<<y<<endl;
}
void main()
{ double a[15];
int j;
for(j=0;j<=14;j++)
cin>>a[j];
double sum_aver(a);
}

可以这样改:
#include<iostream.h>
void sum_aver(double b[])
{
double x=0;
double y;
int i;
for(i=0;i<=14;i++)
x=x+b[i];
y=x/15;
cout<<"sum="<<x<<"aver="<<y<<endl;
}
void main()
{ double a[15];
int j;
for(j=0;j<=14;j++)
cin>>a[j];
sum_aver(a);
}

因为定义double型函数需要返回值,只有void型时不要返回值

double sum_aver(a); //函数调用时只写函数名和实参列表
sum_aver没有返回值就应该声明为void类型

以下是修改以后的代码:

#include<iostream.h>
void sum_aver(double b[])
{
double x=0;
double y;
int i;
for(i=0;i<=14;i++)
x=x+b[i];
y=x/15;
cout<<"sum="<<x<<"aver="<<y<<endl;
}
void main()
{
double a[15];
int j;
for(j=0;j<=14;j++)
cin>>a[j];
sum_aver(a);
}