Estoy intentando hacer una funcion para insertar elementos en una lista enlazada mediante la siguiente funcion:
Código:
ElemLista y Lista son estructuras, la primera es de un elemento, y la segunda es la cabecera de la lista.void Insertar(struct Lista *cab, char *buf) { int i, j; struct ElemLista *elem, *elem2; i = *cab.numElem; elem = *cab.primero; while(j != i) { if (elem.palabra == *buf) { elem.num++; j = i-1; } else if(str( elem.palabra, buf ) < 0 ) { elem = elem.siguiente; } else { elem2 = malloc( sizeof( struct ElemLista ) ); elem2.palabra = buf; elem2.num = 1; elem2.siguiente = elem.siguiente; elem.siguiente = elem2; j = i - 1;//para salir del bucle } j++; } }//Insertar
Están definidas de esta forma:
Código:
Mi duda es la siguiente:struct ElemLista { int num; char *palabra; struct ElemLista *siguiente; }; struct Lista { struct ElemLista *primero; int numElem; };
Cuando compilo me genera varios errores de este tipo:
'request for member `numElem` in somthing not a struct or union'
los demás errores dicen lo mismo, pero para otras variables como .primero, .palabra, etc.
¿Alguien podría decirme qué hago mal?
Yo la verdad es que con los punteros siempre me lio.
Ahh, por si acaso, estoy programando con C y el compilador que uso es DEV-C++.
Gracias