Sdílet prostřednictvím


Přetížená funkce omezení

Přijatelné množinou přetížené funkce se řídí několik omezení:

  • Žádné dvě funkce v sadě přetížené funkce musí mít argument různé seznamy.

  • Přetížení funkce s seznamů argumentů stejné typy na základě návratový typ samostatně, je chyba.

    Konkrétní společnosti Microsoft

Může přetížit nový operátor výhradně na základě vracet typ – konkrétně na základě paměťový model modifikátor, zadán.

Konec konkrétní společnosti Microsoft

  • Pouze z jednoho jsou statické a jiných nonstatic nesmí být přetížené funkce členů.

  • typedefprohlášení není definovat nové typy; mohou zavést synonyma pro existující typy.Neovlivní overloading mechanismu.Zvažte následující kód:

    typedef char * PSTR;
    
    void Print( char *szToPrint );
    void Print( PSTR szToPrint );
    

    Předchozí dvě funkce mají seznamů argumentů identické.PSTRje synonymum pro typ char *.V oboru člena tento kód vygeneruje chybu.

  • Výčtové typy jsou odlišné typy a slouží k rozlišení mezi přetížené funkce.

  • Typy "pole" a "ukazatele" jsou považovány za identické pro účely rozlišování mezi přetížené funkce.To platí pouze pro jednotlivě rozměry matice.Proto následující přetížené funkce konflikt a generovat chybovou zprávu:

    void Print( char *szToPrint );
    void Print( char szToPrint[] );
    

    Násobit rozměry matice jsou druhý a všechny následující rozměry považovány za součást typu.Proto se používají v rozlišování mezi přetížené funkce:

    void Print( char szToPrint[] );
    void Print( char szToPrint[][7] );
    void Print( char szToPrint[][9][42] );
    

Viz také

Referenční dokumentace

Přehled přetížení