帶引數預設值的函式

2021-08-31 15:57:25 字數 839 閱讀 2883

函式有乙個或多個的引數有預設值;如float area(float r = 3.5); int sum (int a,int b = 5, int c =10)。

int fun(int a, int b, int c = 9);

int fun(int a, int b, int c) //int fun(int a, int b, int c = 9) error,重定義預設引數

一般情況,呼叫方只能看到函式宣告,如果寫在函式定義中,呼叫方不知道預設引數是什麼;如果預設引數寫在函式定義處,函式宣告(無缺省引數)無法確定這個函式是帶預設引數的。

a、自右向左,依次賦值。(呼叫引數傳遞引數是從左到右的,所以沒有預設引數都必須傳值進來)int fun(int a = 1, int b, int c = 3); //error

int sum(int a , int b, int c = 3); 

sum(1 ); //error, int b未初始化

sum(1 ,2); //sum == 6

sum(1 ,2, 5);//sum == 8

b、預設值只能賦值一次。

c、預設值可以使用全域性變數、函式返回值。

int gdata = 10;

static int gdata1 = 30;

int sum(int a, int b)

int func(int a, int b, int c = gdata);

int func(int a, int b , int c= sum(gdata,gdata1));

函式(引數,預設值)

js定義函式引數沒有非常嚴格的要求,可以有也可以沒有,在呼叫的時候也是,引數可以有可以沒有,也可以和定義時的引數個數不一致 沒有給count傳入引數,預設為10 也可以直接在引數中給count賦值 但是特別注意的是不能給count傳入0,因為0與undefined都是false,因此count傳入的...

函式引數預設值

include 函式預設值為0 intmul int x 0 c語言編譯器會報錯,c 不會 intmain int argc,char ar 預設值不需要在定義時給出,宣告時給出即可 intmul int x 函式預設引數的規則 引數的預設值必須從右向左匹配 函式呼叫時使用了預設值,則後續引數必須使...

lua 函式 預設值 定義函式引數的預設值

如果你想要命名引數和預設值,如php或python,你可以使用表構造函式呼叫你的函式 myfunction 函式本身可以有這樣的簽名 function myfunction t setmetatable t,local a,c t 1 or t.a,t 2 or t.b,t 3 or t.c fun...