Freigeben über


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.

Siehe auch

Referenz

Überladen