C++中可以在函数声明时为参数提供一个默认值,
当函数调用时没有指定这个参数的值,编译器会自动用默认值代替
函数默认参数的规则
只有参数列表后面部分的参数才可以提供默认参数值
一旦在一个函数调用中开始使用默认参数值,那么这个参数后的所有参数都必须使用默认参数值
#include <iostream> using namespace std; void myPrint(int x = 3) { cout<<"x="<<x<<endl; } //在默认参数规则 ,如果默认参数出现,那么右边的都必须有默认参数 void myPrint2(int x = 3, int y = 4) { cout<<"x="<<x<<endl; } int main(void) { //1 若 你填写参数,使用你填写的,不填写 则默认 myPrint(4); myPrint(); return 0; }
占位参数:
//函数占位参数 函数调用时,必须写够参数 void func1(int a,int b,int) { cout<<"a="<<a<<" b="<<b<<endl; } void func2(int a,int b,int = 0) { cout<<"a="<<a<<" b="<<b<<endl; } int main(void) { //func1(1,2); //too few arguments to function 'void func1(int, int, int)' func1(1,2,3); func2(1,2); func2(1,2,3); return 0; }
运行结果: