noorders Postado Outubro 23, 2011 Denunciar Share Postado Outubro 23, 2011 (editado) 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 Editado Outubro 23, 2011 por noorders Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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
Editado por noordersLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.