1.默认形参。 原则:跟着实参走,实参没有的情况下再跟着形参。实参>形参。
#include <iostream>
#include<string>
using namespace std;
//形参为a,b,c;给其附上值之后就是默认参数
int func(int a,int b=100,int c=10){
return a+b+c;
}
int main ()
{
cout<<func(30,100,200); //实参
}
易错点:如果某个位置有了默认参数,那么此位置往后都得有默认参数。 这就是规则。
int func(int a,int b=100,int c=10) //正确
int func(int a,int b=100,int c) //错误
2.函数的声明和实现不能同时都定义默认参数。
#include <iostream>
using namespace std;
//函数声明
int func(int a=10,int b=10);
int main ()
{
cout<<func(30,100);
}
//函数实现
int func(int a=10,int b=10){
return a+b;
}
会报错,原因就是重定义。
解决方法就是要么在声明时定义默认参数,要么才实现时定义默认参数。