我定义了一个三个有默认值参数的函数
int demo1(int a, int b, int c);
int demo1(int a = 1, int b = 2, int c = 3){
return a+b+c;
};
当我尝试调用并传入两个参数的时候显示编译报错,并且我发现当我不传参数,只传一个,全参调用都没有问题,唯独传入两个的时候会编译报错
demo1();
demo1(1);
demo1(4,3); //唯独这行编译报错
demo1(6,6,6);
这个是什么原因导致的呢?
而且当我把函数所需的参数提高到4个后
demo1();
demo1(1);
demo1(4,3); //编译报错
demo1(6,6,6); //编译报错
demo1(6,6,6,6);
十分不理解,难道对于有默认值的函数,只能是要么全使用要么是只能传入第一个实参吗?