Dirección de funciones sobrecargadas
El uso de un nombre de función sin argumentos devuelve la dirección de esa función.Por ejemplo:
int Func( int i, int j );
int Func( long l );
...
int (*pFunc) ( int, int ) = Func;
En el ejemplo anterior, la primera versión de Func está seleccionado, y copie su dirección en pFunc.
El compilador determina qué versión de la función para seleccionar encontrando una función con una lista de argumentos que exactamente las coincidencias que de destino.Los argumentos en las declaraciones de funciones sobrecargadas coinciden con uno de los siguientes:
Un objeto que se inicializa (como se muestra en el ejemplo anterior)
el lado izquierdo de una instrucción de asignación
un argumento formal a una función
un argumento formal a un operador definido por el usuario
Un tipo de valor devuelto de la función
Si no es exacta se encuentra la coincidencia, que toma la dirección de función es ambigua y se genera un error.
Tenga en cuenta que aunque una función que no es miembro, Func, se utiliza en el ejemplo anterior, se aplican las mismas reglas a tomar la dirección del miembro sobrecargado funciona.