Condividi tramite


Indirizzo delle funzioni in overload

L'utilizzo di un nome di funzione senza argomenti restituisce l'indirizzo della funzione.Di seguito è riportato un esempio:

int Func( int i, int j );
int Func( long l );

...

int (*pFunc) ( int, int ) = Func;

Nell'esempio precedente, la prima versione di Func è selezionato e il relativo indirizzo viene copiato in pFunc.

Il compilatore determina quale versione della funzione da selezionare la ricerca di una funzione con un elenco di argomenti che esattamente corrispondenze del database di destinazione.Gli argomenti nelle dichiarazioni di funzione in overload corrispondono a uno dei seguenti elementi:

  • Un oggetto inizializzato (come illustrato nell'esempio precedente)

  • il lato sinistro di un'istruzione di assegnazione

  • Un argomento formale a una funzione

  • Un argomento formale a un operatore definito dall'utente

  • Un tipo restituito dalla funzione

Se non corrispondenza esatta viene trovata, l'espressione che accetta l'indirizzo della funzione è ambigua e viene generato un errore.

Si noti che anche se una funzione non membro, Func, è stato utilizzato nell'esempio precedente, le stesse regole vengono applicate quando hanno l'indirizzo delle funzioni membro di overload.

Vedere anche

Riferimenti

L'overload