noorders Posted October 23, 2011 Report Share Posted October 23, 2011 (edited) Boa tarde.Eu gostava de fazer o varrimento dos objectos que tenho numa list de c++ mas dá-me o seguinte crash:"list iterators incompatible"Defini uma list desta maneira:#include <list>#include <algorithm>using namespace std;list<LugarLigado> lg;E em qualquer método que eu queira fazer o varrimento da mesma com um iterador dá-me esse estouro.Deixo aqui o exemplo de um método desses:void Lugar :: escreve(ostream & out)const{ out << this->getNomeLugar(); //varrimento da list aqui for(list<LugarLigado> :: iterator it = this->getLugarLigado().begin(); it != this->getLugarLigado().end(); it++) { out << *it << endl; }}ostream & operator << (ostream & out, const Lugar& l){ l.escreve(out); return out;}Se alguém me conseguir ajudar seria óptimo.Obrigado Edited October 23, 2011 by noorders Quote Link to comment Share on other sites More sharing options...
Question
noorders
Boa tarde.
Eu gostava de fazer o varrimento dos objectos que tenho numa list de c++ mas dá-me o seguinte crash:
"list iterators incompatible"
Defini uma list desta maneira:
#include <list>
#include <algorithm>
using namespace std;
list<LugarLigado> lg;
E em qualquer método que eu queira fazer o varrimento da mesma com um iterador dá-me esse estouro.
Deixo aqui o exemplo de um método desses:
void Lugar :: escreve(ostream & out)const
{
out << this->getNomeLugar();
//varrimento da list aqui
for(list<LugarLigado> :: iterator it = this->getLugarLigado().begin(); it != this->getLugarLigado().end(); it++)
{
out << *it << endl;
}
}
ostream & operator << (ostream & out, const Lugar& l)
{
l.escreve(out);
return out;
}
Se alguém me conseguir ajudar seria óptimo.
Obrigado
Edited by noordersLink to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.