Nel definire una funzione in un'interfaccia:Const vettore di non-const oggetti
virtual void ModifyPreComputedCoeffs (std::vector <IndexCoeffPair_t> & model_) = 0;
vogliamo specificare che il model_ vettore non deve essere modificato nel senso push_back ecc operazioni non dovrebbero essere fatte sul vettore ma è possibile modificare gli oggetti struct IndexCoeffPair_t nel modello_. Come dovremmo specificarlo?
virtual void ModifyPreComputedCoeffs (const std::vector <IndexCoeffPair_t> & model_) = 0;
non funziona, credo.
Bene, che cosa hai provato? –
Non funziona, pensi? Sembra che dovrebbe funzionare, hai provato a modificarlo? – yan
@yan: No, non dovrebbe funzionare perché 'vector :: operator [] const' e tutti gli altri elementi di accesso' const' restituiscono 'vector :: const_reference'. –
Josh