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();
}
}
}