C++函數的默認值需要注意
1.默認值從右向左依次給出
2.不能重複聲明函數的默認值
//error 默認值未從右向左依次給定
int sum(int a,int b=20,int c)
{
return a+b+c;
}
在調用sum(10,20)時,a的值不能確定,出現error。
//error 重複聲明函數默認值
int sum(int a,int b,int c=10);
int sum(int a,int b,int c=10)
{
return a+b+c;
}
聲明函數的默認值,函數實現時編譯器會誤以爲默認值被修改了,error。
int sum(int a,int b,int c=10);
int sum(int a,int b=20,int c);
int sum(int a=10,int b,int c);
int sum(int a,int b,int c)
{
return a+b+c;
}
默認值從右向左依次給定,聲明函數默認值未重複,函數調用正確。