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:

codice:
double& Vettore::operator[](size_t i)
{
	return v[i]; 
}
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).

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.