È possibile sovraccaricare una funzione che accetta un nome di riferimento o una variabile?Problema con il passaggio tramite riferimento
Per esempio quando cerco di fare questo:
void function(double a);
void function(double &a);
Vorrei che il chiamante di questa funzione per essere in grado di fare:
double a = 2.5;
function(a); // should call function(double &a)
function(2.3); // should call function(double a)
vorrei scrivere pass-by- funzioni di riferimento per un migliore utilizzo della memoria e la possibile manipolazione della variabile al di fuori dell'ambito, ma senza dover creare una nuova variabile solo per poter chiamare la funzione.
È possibile?
Acclamazioni
Penso che questo sia generalmente possibile, anche se nel tuo esempio, entrambi chiameranno 'function (double a)', poiché un è un int e non può essere preso come riferimento a un doppio. – falstro
mi dispiace per quello, intendevo dire che è un doppio. Corretto in questione ora –
Cosa intendi per "possibile manipolazione della variabile al di fuori dell'ambito", e come funzionerebbe con 'function (2.3)' – Roddy