List iterator not decrementable

Iniciado por kaostias, 2 Noviembre 2013, 11:54 AM

0 Miembros y 1 Visitante están viendo este tema.

kaostias

Buenas, estoy haciendo un programa que crea un objeto, y cuando se pulsa una tecla, anida dos objetos por cada uno de los objetos creados en el último anidamiento, de modo que en el nivel 1 tendré 1 objeto, en el 2, 3 objetos, en el 3, tendré 7...

de modo que cada iteración tiene (iteraciónAnterior*2) objetos, y tengo un problema, pues a la hora de desanidar habiendo objetos, me salta un error

El error que me da es
Debug Assertion Failed!

Program: [archivoPrograma]\Debug\freeglut project 2D.exe(mi archivo)
File: c:\visual studio 2010\vc\include\list (cuando yo utilizo 2012, aunque tengo instalado el 2010)
line 256

Expression: list iterator not decrementable


[...]

El código es el siguiente


void Arbol::desanidar(void){
int i = -1;
while(!poranidar.empty()){
poranidar.pop_front();
i++;
}
if (i!= -1){
for (int j=0;j<=i/2;i++){
poranidar.push_front(archivados.back());
archivados.pop_back();
}
}
}
- ¡Éste código sin documentar es un galimatías!
- Es tuyo, de hace 3 semanas
- ¡Es una obra maestra aunque esté sin documentar! ¿Qué decías que hace?