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.
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;
};
Si es correcto eferion ese era mi error, ya pude insertar en mi lista.
Gracias.