¿Puedo sobrecargar una función que toma un nombre de referencia o de variable?Problema al pasar por referencia
Por ejemplo cuando trato de hacer esto:
void function(double a);
void function(double &a);
Me gustaría que el llamador de esta función para ser capaz de hacer:
double a = 2.5;
function(a); // should call function(double &a)
function(2.3); // should call function(double a)
me gustaría escribir pasar por caso funciones de referencia para un mejor uso de la memoria y una posible manipulación de la variable fuera del alcance, pero sin tener que crear una nueva variable solo para poder llamar a la función.
¿Esto es posible?
Saludos
Creo que esto es generalmente posible, aunque en su ejemplo, ambos llamarán 'function (double a)', ya que es un int, y no puede tomarse como una referencia a un doble. – falstro
perdón por eso, que significa decir que es un doble. Corregido en cuestión ahora –
¿Qué quiere decir con "posible manipulación de la variable fuera del alcance", y cómo funcionaría eso con 'function (2.3)' – Roddy