Compartir a través de


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.

Vea también

Referencia

La sobrecarga