Sapevo che era una stupidata!![]()
Quello che stavo facendo era una assegnazione a un valore temporaneo (ritornato da operator[] )... Quello che ho fatto inizialmente é stato cancellare il vecchio operator[] e aggiungere questo:
Ma poi il compilatore si é lamentato per la const correctness (perché p é passato per referenza costante e il nuovo operatore non assicura più che p rimanga invariato).codice:double& Vettore::operator[](size_t i) { return v[i]; }
Allora li ho lasciati entrambi (overloading) e ora compila. Il compilatore si sbriga da solo su quando utilizzare uno o l'altro... Ho risolto nel modo giusto?
Grazie.

Rispondi quotando