高手指点:一个关于默认参数问题
我想把square放在main后面,可下面的代码在dev-c++中
无法编译,请问各位大虾,带默认参数的函数原形如何写
#include <iostream>
#include <stdlib.h>
using namespace std;
float square(float a=1,float b=2,float c=3);
int main(int argc, char *argv[])
{
float a,b;
cin >> a>>b;
cout<<square(a,b)<< endl;
system("PAUSE");
return 0;
}
float square(float a=1,float b=2,float c=3)
{
return a*b*c;
}
问题点数:20、回复次数:6Top
1 楼oo(为了名副其实,努力学习oo技术ing)回复于 2004-12-01 13:42:25 得分 5
float square(float a,float b,float c) //实现的时候不需要缺省值
{
return a*b*c;
}
Top
2 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2004-12-01 13:46:02 得分 0
yes , to upstairs:)Top
3 楼Polarislee(北极星)(无房无车,飘在北京)回复于 2004-12-01 13:54:20 得分 5
如果在两个位置都设置缺省参数的话,将会被当作重复设定论处。
不过在实现的时候可以添加定义是没有的缺省参数,比如:
float square(float a,float b=2,float c=3);
…………
float square(float a=1,float b,float c)
{
return a*b*c;
}
Top
4 楼csdnlady()回复于 2004-12-01 14:20:43 得分 5
缺省参数只在用在函数的声明中而不是在函数的定义中,当然带定义的声明则可以。Top
5 楼jameswwb(烈燄)回复于 2004-12-01 14:57:11 得分 0
哈 对我这样的菜鸟也试用!
又学到了点!Top
6 楼libbyliugang()回复于 2004-12-01 15:05:39 得分 5
默认参数只在声明时需要写
定义函数体时就没必要了(写了就编译错误)
oo(为了名副其实,努力学习oo技术ing)说的很对
Top




