Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/10/2015, 09:27
pR1899
 
Fecha de Ingreso: abril-2015
Mensajes: 16
Antigüedad: 9 años
Puntos: 0
Respuesta: Eliminar nodo

Esto es lo que tengo, pero no encuentro el error.
en ocaciones me salta segmentation fault y si no lo hace una vez pero cuando lo vuelvo hacer me salta el archivo vacio como si borrara todo.


Código C++:
Ver original
  1. Archivo borrarlinea(Archivo a,int nrolinea)
  2. {
  3.     Archivo anterior,recorro;
  4.     recorro=a;
  5.     anterior=NULL;
  6.     int cantidad,cant;
  7.     cantidad=cantidad_lineas(a->ptr_linea);
  8.  
  9.  
  10.     if(recorro->ptr_linea==NULL)
  11.     {
  12.         cout << "El archivo esta vacio.";
  13.     }
  14.     else
  15.     {
  16.  
  17.         while(recorro->ptr_linea!=NULL)
  18.         {
  19.  
  20.             if(nrolinea==1)
  21.             {
  22.                 a->ptr_linea=(*a).ptr_linea->sig_linea;
  23.                 delete recorro;
  24.             }
  25.             else
  26.             {
  27.                 (*anterior).ptr_linea->sig_linea=(*recorro).ptr_linea->sig_linea;
  28.                 ///anterior->ptr_linea=(*recorro).ptr_linea->sig_linea;
  29.                 delete recorro;
  30.             }
  31.             //return a;
  32.             anterior=recorro;
  33.             recorro->ptr_linea=(*recorro).ptr_linea->sig_linea;
  34.         }
  35.     }
  36.  
  37.     return a;
  38. }