Adresa přetížených funkcí
Použití názvu funkce bez argumentů vrátí adresu funkce.Příklad:
int Func( int i, int j );
int Func( long l );
...
int (*pFunc) ( int, int ) = Func;
V předchozím příkladu je vybrána první verze Func a její adresa je zkopírována do pFunc.
Kompilátor rozhodne, která verze funkce bude vybrána pro vyhledání funkce se seznamem argumentů, která přesně odpovídá cíli hledání dané funkce.Argumenty v přetížených deklaracích funkce jsou porovnány s některou z následujících možností:
Objekt je inicializován (jak je znázorněno v předchozím příkladu)
Levá strana příkazu přiřazení
Formální argument funkce
Formální argument pro uživatelem definovaný operátor
Návratový typ funkce
Není-li nalezena přesná shoda, je výraz, který přebírá adresu funkce dvojznačný a je vygenerována chyba.
Všimněte si, že ačkoli byla v předchozím příkladu použita nečlenská funkce Func, jsou použita stejná pravidla při převzetí adresy přetížených členských funkcí.