c語言不支援給函式引數指定預設值,而c++支援。
c++預設引數機制:預設引數是宣告或定義函式時為函式的引數指定乙個預設值。在呼叫該函式時,如果沒有指定實參則採用該預設值,否則使用指定的實參。
例如:在test.c中,下面程式會編譯失敗
而在test.cpp中,test.cpp會編譯通過
#include void test(int a = 1)
{ std::cout<
預設引數分為:
void test(int ele1, int ele2, int ele3 = 3);
void test(int ele1, int ele2 = 2, int ele3 = 3);
void test(int ele1 = 1, int ele2, int ele3 = 3);
注:全預設引數函式會和無引數函式造成二義性。
void test();
void test(int ele1 = 1, int ele2, int ele3 = 3);
上例中:當使用不帶參方式呼叫test()時,編譯器無法確定是呼叫哪個。
預設引數注意事項:
1. 帶預設值的引數必須放在參數列的最後面,從後往前給預設值。
2. 預設引數不能同時在函式的宣告和函式定義中出現,二者只能選其一,最好選在宣告時。
3. 預設值必須是常量或全域性變數。
4. 預設引數必須通過值參或常參傳遞。
C 預設引數
一 預設引數 在c 中,可以為引數指定預設值。在函式呼叫時沒有指定與形參相對應的實參時,就自動使用預設引數。預設引數的語法與使用 1 在函式宣告或定義時,直接對引數賦值。這就是預設引數 2 在函式呼叫時,省略部分或全部引數。這時可以用預設引數來代替。注意 1 預設引數只可在函式宣告中設定一次。只有在...
C 預設引數
函式的預設引數值,即在定義引數的時候同時給它乙個初始值。在呼叫函式的時候,我們可以省略含有預設值的引數。也就是說,如果使用者指定了引數值,則使用使用者指定的值,否則使用預設引數的值。void func int i 1,float f 2.0f,double d 3.0 int main void 引...
C 預設引數
概念 在函式宣告或定義的時候給形參乙個預設的引數。這樣在呼叫該函式,如果沒有給實參,函式的這個形參就預設為這個值。使用規則 1 預設值必須從右往左給值 2 預設值必須為常量或全域性變數 const static 普通的 全域性變數 也可以作為預設引數 3 預設引數只能出現在宣告或者定義的一處 4 不...