C++中能够在函数声明时为参数提供一个默认值,ios
当函数调用时没有指定这个参数的值,编译器会自动用默认值代替函数
函数默认参数的规则spa
只有参数列表后面部分的参数才能够提供默认参数值code
一旦在一个函数调用中开始使用默认参数值,那么这个参数后的全部参数都必须使用默认参数值blog
#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; }
运行结果:io