c++函数重载参数默认

来源:百度知道 编辑:UC知道 时间:2024/06/30 02:02:31
//====================
#include <iostream>
using namespace std;
//===================
int main()
{

int max(5,6,7);
double max(double a,double b,double c);

cout<<max()<<endl;
double i,j,k,result;
cin>>i>>j>>k;
result=max(i,j,k);
cout<<result<<endl;

return 0;

}

int max(int i,int j,int k)
{
if(i<j) i=j;
if(k<j) k=j;
cout<<j<<endl;

}

double max(double i,double j,double k)
{
if(i<j) i=j;
if(k<j) k=j;
cout<<j<<endl;

}错误再哪里呢???

//====================
#include <iostream>
using namespace std;
//===================
//声明要放到外面,养成良好编程习惯
double max(double a,double b,double c);
int max(int i,int j,int k);
int main()
{
//应该这样写;
//int max(5,6,7);这是调用吗?
//cout<<max()<<endl;为什么函数没参数那?
cout<<max(5,6,7)<<endl;

double i,j,k,result;
cin>>i>>j>>k;
result=max(i,j,k);
cout<<result<<endl;

return 0;

}

int max(int i,int j,int k)
{
if(i<j) i=j;
if(k<j) k=j;
cout<<j<<endl;

}

double max(double i,double j,double k)
{
if(i<j) i=j;
if(k<j) k=j;
cout<<j<<endl;

}

你定义的这两个函数都有返回值,但是在函数定义体内却都没有return语句,改正方法是要么把两个函数的返回值都改为void,要么在两个函数定义体内都加上一个return语句:
return j;
还有一个错误就是你的这条语句:
cout<<max()<<endl;
函数在声明定义时有参