void a(int a,int b=0)的含义?

来源:百度知道 编辑:UC知道 时间:2024/05/15 18:00:35
如果调用只传递一个参数那么第二个参数默认为0吗?如果传两个参数第二个参数是不是也被强制赋为0?

你理解得没错,如果只传递一个参数那么第二个参数默认为0。如果传了第二个参数当然就不会取默认值了。

函数作用:
比如你声明
void Enable(bool bFlag=true);

一般情况下人家想“Enable”某样东西的时候,只要调用Enable()就可以了,如果想禁用,就调用Enable(false);

注意:
假如你有三个函数,第二个给了默认值,那么第三个也必须给默认值,否这你只传两个参数的时候编译器不知道你是给第二个赋值还是给第三个。只要一个参数给了默认值,后面的都要给。

第二个参数只是初始值为0,可以变的

是的,可以给第二个也可以不给,无论给不给都是0