Un poco de contexto: Yo tengo una cabecera llamada evento.h, donde tengo la estructura que estoy usando en mi programa, la definición de todas las funciones que voy a hacer en un programa que estoy desarrollando, además de una definición de las funciones base que voy a usar en mi programa, que consiste en una función void que recibe un puntero a la estructura definida, en este caso, de evento.
Código C:
Ver original
/* evento.h (extracto)*/ /* Estructura */ typedef struct _evento { int id; char titl[60]; char desc[120]; int estado; } evento; /* Definicion de las funciones base */ typedef void (*ptr_funcion)(evento *);
Luego, un programa llamado evento.c donde tengo los cuerpos de todas las funciones que voy a usar. Y finalmente el programa principal, main.c
Dentro del header, tengo una serie de funciones que justamente usan como parámetro un puntero a la estructura evento, justamente el formato que necesito para poder usar el typedef.
Código C:
Ver original
/* evento.h (extracto)*/ void mostrar_evento(evento *); void eliminar_evento(evento *);
Pero tengo un par de funciones void que no reciben parámetro, incompatibles con el typedef declarado en la cabecera.
Código C:
Ver original
/* evento.h (extracto)*/ void listar_eventos(); void vaciar_eventos();
Podría declararlas directamente en el main.c, pero al tener la declaración typedef definida, lo ideal sería que pueda usar punteros para poder realizar la llamada a estas funciones.
Con todo lo anterior, ¿alguna sugerencia para hacer las llamadas a estas funciones (que no sea de forma directa, sino que de cierto modo respetando el typedef definido en la cabecera)?