Pointer to structure required...

Pues que tengo un problema con este fragmento de código:
...
else{
if(criterio==1){
if(comparaChar(alumno->Apellidos, raiz->dato->Apellidos)<0)
insertarElemento(raiz->izq, alumno, criterio);
if(comparaChar(alumno->Apellidos, raiz->dato->Apellidos)>0)
insertarElemento (raiz->der, alumno, criterio);
}
El error que da es: Pointer to structure required on left side of -> or ->* in function insertarElemento.
Lo q no entiendo, porque alumno es un puntero a una estructura Alumno de la siguiente forma:
struct ALUMNO{
char Nombre [15];
char Apellidos [30];
char DNI [9];
char Telefono [9];
float NotaED;
};
typedef struct ALUMNO Alumno;
la cabecera de la funcion insertarElemento:
void insertarElemento(NodoArbol *raiz, Alumno * alumno, int criterio)
Si pudiera darme alguna contestación, le estaría muy agradecido.

1 respuesta

Respuesta
1
¿Puedes decirme como has declarado la estructura NodoArbol?
Ahora mismo solo se me ocurre algún tipo de fallo en la definición de la estructura NodoArbol.
struct NODO{
void *dato;
int equi;
struct NODO *izq, *der;
};
typedef struct NODO NodoArbol;
y la del arbol es:
struct ARBOL{
NodoArbol *raiz;
size_t tamElemento;
FuncionMuestra fm;
FuncionCompara fc;
};
typedef struct ARBOL Arbol;
Gracias por contestar
Quizás no sea de alumno, sino de raíz, pero es que no estoy seguro, así es un poco difícil adivinar el porque te da ese tipo de fallo, pero vamos, básicamente te esta diciendo que no es un puntero lo que hay a la izquierda.
Yo creo que es del puntero raíz.
Revisa esa variable... a ver si va a ser un doble puntero ( *raíz)->izq

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas