Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: wyuman en 7 Abril 2014, 05:36 AM

Título: listas encadenadas
Publicado por: wyuman en 7 Abril 2014, 05:36 AM
Buena noche compañeros, aca solicitando su ayuda, ya que no le entiendo a este error, si alguien puede ayudarme. Gracias.

Estoy aprendiendo a programar con C y estoy trabajando en estos momentos con listas encadenadas pero este error me estas saliendo y no le entiendo.

Este es el codigo que tengo

void insertdepa(struct depa **A, char linea2[]){
struct depa *n, *p;
mientras = strtok(linea2,"(");
while (mientras != NULL)
      {
      mientras = strtok(NULL," )");
if((*A)==NULL)
      {
          n = (struct depa *) malloc (sizeof(struct depa));
            n->dato = mientras;
            n->sig = NULL;
            n->con = NULL;
            (*A) = n;
         }else{
         p=(*A);
         while(p->sig!=NULL)
          {
            p=p->sig; [b]//Esta linea me muestra el primer error[/b]
            }
         n = (struct depa *) malloc (sizeof(struct depa));
         n->dato = mientras;
         n->sig = NULL;
         n->con = NULL;
         p->sig = n; [b]//este es la segunda linea con error[/b]
         }
      }
}


Y este es el error que obtengo.
Cannot Convert 'nodo *' to 'depa *'
Cannot Convert 'depa *' to 'nodo *'


Si alguien me puede ayudar se lo agradeciera muchisimo.
Título: Re: listas encadenadas
Publicado por: eferion en 7 Abril 2014, 09:07 AM
El problema lo tienes en la definición de tu estructura.

No la has puesto, pero tiene pinta que tiene una definición tal que


struct depa
{
  char* dato;
  struct nodo* sig;
  algo* con; // No queda claro el tipo de este, aunque es irrelevante.
};


Si mi deducción es correcta, esta parte del código funcionaría dejando la estructura así:


struct depa
{
  char* dato;
  struct depa* sig;
  algo* con;
};
Título: Re: listas encadenadas
Publicado por: wyuman en 7 Abril 2014, 17:05 PM
Si es correcto eferion ese era mi error,  ya pude insertar en mi lista.
Gracias.