Adresse von überladenen Funktionen
Verwendung eines Funktionsname ohne Argumente gibt die Adresse dieser Funktion zurückgegeben.Beispiele:
int Func( int i, int j );
int Func( long l );
...
int (*pFunc) ( int, int ) = Func;
Im vorhergehenden Beispiel wird die erste Version von Func ausgewählt, und seine Adresse wird in pFunckopiert.
Der Compiler bestimmt, welcher Version der durch eine Funktion mit einer Argumentliste genau ermitteln, die Funktion auszuwählen, die Übereinstimmungen im Ziel dieser ist.Die Argumente in die Deklarationen der überladenen Funktion für Folgendes erfüllt:
Ein Objekt, das initialisiert wird (wie im vorherigen Beispiel gezeigt)
Die linke Seite einer Zuweisungsanweisung
Ein formales Argument für eine Funktion
Ein formales Argument für einen benutzerdefinierten Operator
Ein Funktionsrückgabetyp
Wenn keine genaue Übereinstimmung gefunden, wird der Ausdruck, der die Adresse der Funktion ist mehrdeutig akzeptiert und ein Fehler wird ausgelöst.
Beachten Sie, dass, obwohl eine Funktion, Func, Nichtmitglieds im vorherigen Beispiel verwendet wurde, die gleichen Regeln angewendet werden, wenn Sie die Adresse von überladenen Memberfunktionen in Anspruch nehmen.