Anzitutto, grazie per la risposta.Originariamente inviato da shodan
La sintassi corretta è:
codice:void setPs(const Nodo* const& p ) { // però qui serve il const_cast altrimenti da errore sull'assegnazione. ps = const_cast<Nodo*>(p); }
Me lo puoi spiegare meglio? Cioè, se Nodo<T>* è il tipo di dato che sto passando alla funzione, non dovrebbe essere corretto fare const Nodo<T>* &n ?
Quando uso i reference, praticamente è come usare la variabile originale, cioè per esempio, passandolo per puntatore ti devi ricordare di usare la freccia, in C++ con i reference no. Perchè devo fare il cast? Cioè io i reference costanti li ho sempre usati normalmente senza tenere conto che sono costanti. Sono un pò confuso![]()