Ah... trovato un errore intanto: se l'indice non e' compreso nell'intervallo, che ritorni ? Dovresti lanciare un'eccezione, ad esempio
Codice:
struct Error {} ;
int& Vector::operator[]( int n )
{
if ( n < 0 || n >= dimensione )
throw Error();
return elementi[index];
}
Oppure non fai del tutto il controllo (e lo deleghi a chi usa la classe)
se ancora non va (probabilmente no visto che l'errore era segnalato prima ) prova a postare tutto il file cpp allora..