Adresy dla funkcji przeciążenia
Użycie nazwy funkcji bez argumentów zwracając adres tej funkcji.Na przykład:
int Func( int i, int j );
int Func( long l );
...
int (*pFunc) ( int, int ) = Func;
W powyższym przykładzie, pierwsza wersja Func jest zaznaczona, a jego adres zostanie skopiowany do pFunc.
Kompilator określa, którą wersję funkcji wybrać, znajdując funkcję z listą argumentów, która dokładnie pasuje do tego obiektu docelowego.Argumenty w deklaracji funkcji przeciążonej są dopasowywane do jednej z następujących czynności:
Obiekt jest zainicjowany (jak pokazano w poprzednim przykładzie)
Lewa strona instrukcji przypisania
Argument formalny do funkcji
Argument formalny do operatora zdefiniowanego przez użytkownika
Zwracane typy funkcji
Jeśli nie zostanie znalezione dokładne dopasowanie, wyrażenie, które przyjmuje adres funkcji jest niejednoznaczne i zostanie wygenerowany błąd.
Należy zauważyć, że chociaż funkcja nieczłonkowska, Func, została użyta w poprzednim przykładzie, te same zasady są stosowane podczas przyjmowania adresów przeciążonych elementów członkowskich funkcji.