J´ai besoin d´écrire, pour un projet en C, une liste chainée un peu particulière, mais qui sera utilisée pour des variables de 3 types différents (instanciées de 3 structures définies au sein de mon projet).
Plutôt que d´écrire 3 fois la même chose en changeant juste le type des valeurs acceptées, j´aimerais obtenir une sorte de template un peu comme en C++.
Je pensait utiliser une structure de la sorte (très réduite ici) :
typedef struct st_List
{
void *data;
struct st_List *next;
}
List;
et caster les pointeurs void selon chaque cas en fonction du type de valeur contenu dans la liste.
Le problème c´est que point de vue utilisateur c´est pas top de devoir caster à chaque fois...
Existe-il une solution académique à ce type de problème ?