函數參數相關(默認參數,佔位參數)

 

C++中能夠在函數聲明時爲參數提供一個默認值,ios

當函數調用時沒有指定這個參數的值,編譯器會自動用默認值代替函數

函數默認參數的規則spa

只有參數列表後面部分的參數才能夠提供默認參數值code

一旦在一個函數調用中開始使用默認參數值,那麼這個參數後的全部參數都必須使用默認參數值blog

#include <iostream>
using namespace std;

void myPrint(int x = 3)
{
    cout<<"x="<<x<<endl;
}
//在默認參數規則 ,若是默認參數出現,那麼右邊的都必須有默認參數
void myPrint2(int x = 3, int y = 4)
{
    cout<<"x="<<x<<endl;
}

int main(void)
{
    //1 若 你填寫參數,使用你填寫的,不填寫 則默認
    myPrint(4);
    myPrint();
    
    return 0;
}

佔位參數:編譯器

//函數佔位參數 函數調用時,必須寫夠參數
void func1(int a,int b,int)
{
    cout<<"a="<<a<<" b="<<b<<endl;
}

void func2(int a,int b,int = 0)
{
    cout<<"a="<<a<<" b="<<b<<endl;
}

int main(void)
{
    //func1(1,2); //too few arguments to function 'void func1(int, int, int)'
    func1(1,2,3);
    
    func2(1,2);
    func2(1,2,3);
    
    return 0;
}

運行結果:io

相關文章
相關標籤/搜索