Le problème vient d'ici:
void do_list(void (*p)(), T_LIST l)
Je crois que c'est censé être une fonction pouvant accepter n'importe quel paramètre, mais je crois que ton compilo n'est pas d'accord.
Vérifies tes options de compilation, etc.
Sachant que pour moi le programme suivant marche très bien:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| #include <stdio.h>
#include <stdlib.h>
typedef struct node
{
struct node *queue;
void *label;
} *T_LIST;
typedef struct {
char *nom;
char *prenom;
T_LIST notes;
} ETUD, *P_ETUD;
int is_empty(T_LIST l)
{
return (l==NULL);
}
T_LIST nil()
{
return NULL;
}
void do_list(void (*p)(), T_LIST l)
{
if( is_empty(l) )
{
return;
}
else
{
(*p)(l -> label); /*** ligne 46***/
do_list(p, l -> queue);
}
}
void imp_note (float *une_note)
{
printf (" %.2f " , *une_note) ;
} ;
void imp_etudiant(P_ETUD un_etud)
{
if (un_etud != NULL)
{
printf (" %s ", un_etud->nom) ;
printf (" %s ", un_etud->prenom) ;
printf (" notes= ");
do_list (imp_note, un_etud->notes) ; /*** ligne 59 **/
printf(" \n ") ;
}
}
void afficher_etudiant (T_LIST ancre)
{
if (is_empty (ancre))
printf(" afficher : liste vide \n ") ;
else
do_list (imp_etudiant,ancre) ; /**** ligne 65 ****/
}
int main()
{
ETUD a = {"Joseph", "Dubois", NULL};
imp_etudiant(&a);
return 0;
} |
Et j'ai codeblocks 
Essaie de télécharger la nouvelle version, ils ont (enfin) sorti une version récente et directement installable
Partager