Suppongo che la funzione abbia già un valore di ritorno che non può essere aggiunto.Come posso aggiungere un parametro di uscita a una funzione senza rompere il codice esistente?
Quello che mi è venuto in mente per risolvere questo problema è aggiungere parametri extra del puntatore che di default sono nullptr.
Prima:
bool fun(double a, std::vector<std::randomexample> const & b)
Dopo:
bool fun(double a, std::vector<std::randomexample> const & b, int* extraoutput = nullptr)
e utilizzarlo come questo
if(extraoutput)
*extraoutput = whatever;
Ma questo è proprio quello che mi è venuta. Mi piacerebbe sapere se c'è un modo migliore per farlo. Nota che "qualunque cosa" è già nella funzione.
Sembra ragionevole. –
Se non si desidera assolutamente modificare la cosa esistente, creare una nuova copia sovraccaricata. –