Endereço de funções sobrecarregadas
Usar um nome de função sem argumentos retornará o endereço dessa função.Por exemplo:
int Func( int i, int j );
int Func( long l );
...
int (*pFunc) ( int, int ) = Func;
No exemplo anterior, a primeira versão do Func estiver selecionada, e seu endereço é copiado para pFunc.
O compilador determina qual versão da função para selecionar, localizando uma função com uma lista de argumentos que corresponda exatamente ao que o do destino.Os argumentos nas declarações de função sobrecarregada são comparados com um destes procedimentos:
Um objeto que está sendo inicializado (conforme mostrado no exemplo anterior)
O lado esquerdo de uma instrução de atribuição
Argumento formal para uma função
Argumento formal para um operador definido pelo usuário
Um tipo de retorno da função
Se nenhuma correspondência exata for encontrada, a expressão que leva o endereço da função é ambígua e será gerado um erro.
Observe que embora uma função não-membro, Func, foi usado no exemplo anterior, as mesmas regras são aplicadas quando pegar o endereço de sobrecarregado funções de membro.