c++預設實參
阿新 • • 發佈:2019-02-10
雖然既可以在函式宣告也可以在函式定義中指定預設實參,但是若是在函式的定義中指定預設 實參,那麼只有在該函式定義的原始檔中呼叫該函式時,預設實參才是有效的。這句話什麼意思呢?
舉個例子說明吧,
預設實參可以是任何適當型別的表示式,例如常量,函式呼叫,全域性變數等。在呼叫該函式時會求解該表示式。
舉個例子說明吧,
- //CPerson.h
- int initPerson(int old, string name, string race);//沒有在這裡指定預設實參
- //CPerson.cpp
- #include "CPerson.h"
- ...
- //int initPerson(int old, string name = "二毛", string race = "漢"){...}
- //或者
-
int initPerson(int
- int initPerson(int old, string name, string race){...}
- void func()
- {
- initPerson(3); //可以,預設引數有效
- }
- //other.cpp
- #include "CPerson.h"
- ...
- void funcA()
- {
- initPerson(3);//編譯錯誤,預設實參無效
- }
預設實參可以是任何適當型別的表示式,例如常量,函式呼叫,全域性變數等。在呼叫該函式時會求解該表示式。