Problema con free, lista enlazada

Iniciado por totolia, 3 Abril 2012, 20:50 PM

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

totolia

Hola verán estoy haciendo una lista enlazada para un seguido de elementos donde cuando quiero eliminar dicho elemento con el anterior no puedo, ya que me aparece una excepción no controlada como si entrase en una sección de memoria errónea. Pero el tratado de datos es correcto, paso aquí parte del código donde me "peta".

void BorrarBala(struct llista *tllista, struct nodo *anterior){
      struct nodo *borrar;
      if(anterior==NULL){
         borrar=(*tllista).primer;
         (*tllista).primer=borrar->seguent;
      }else{
         borrar=anterior->seguent;
         anterior->seguent=borrar->seguent;
      }
      free(borrar);
   }

Bueno si pueden decirme por experiencia que puede ser o este código tiene un error se lo agradecería mucho. Gracias

durasno

Hola! podrias subir como declaras las estructuras y el codigo desde donde llamas a esa funcion
Ahorrate una pregunta, lee el man