PDA

View Full Version : [C++] Dubbio su STL vector e incremento


killercode
08-09-2010, 16:58
E' consentita questa istruzione?
clusdat[temp] = clusdat[temp] + 1;
clusdat č appunto un template vector di interi.
Quando la commento il programma viene eseguito fino alla fine, se la decommento il programma va in segmentation fault quando do il comando di resize.
clusdat.resize(L*L);.
A me sembra tutto normale :confused:

p.s anche se sostituisco [ ] con la funzione membro at()
clusdat.at(temp) = (clusdat.at(temp)) + 1
mi restituisce l'eccezione
terminate called after throwing an instance of 'std::out_of_range'
what(): vector::_M_range_check
Aborted

sembra quasi che incrementi la posizione dell'indice invece che il contenuto della cella corrispondente

tomminno
08-09-2010, 18:19
Cosė ad occhio pare che temp vada oltre i limiti del vector, da cui l'eccezione out_of_range con at e il crash nell'utilizzo dell'operatore []