|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2007
Messaggi: 1624
|
[C++] Dubbio su STL vector e incremento
E' consentita questa istruzione?
Codice:
clusdat[temp] = clusdat[temp] + 1; 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. Codice:
clusdat.resize(L*L); A me sembra tutto normale ![]() p.s anche se sostituisco [ ] con la funzione membro at() Codice:
clusdat.at(temp) = (clusdat.at(temp)) + 1 Codice:
terminate called after throwing an instance of 'std::out_of_range' what(): vector::_M_range_check Aborted Ultima modifica di killercode : 08-09-2010 alle 17:04. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
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 []
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:04.