Bonjour,
Je dois utiliser une librairie en C qui construit et travaille sur des automates (appelés ndd dans la librairie). La structure ndd est définie comme suit :
où uint4, uint1 et automaton sont des structures également. Celle qui m'interesse ici est automaton, définie comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct { uint4 dim; automaton *automaton; uint1 base, properties; } ndd;
Par exemple, la méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct { (...) uint4 nb_states; /* Number of states. */ (...) } automaton;de la librairie retourne un pointeur vers un ndd.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ndd *ndd_create_inequation_msdf(r, n, c, b)
J'aimerais de mon côté créer un ndd à partir de la méthode ndd_create_inequation_msdf() et récupérer des informations de ce ndd (par exemple, l'attribut nb_states de l'automaton du ndd). Je rencontre à ce moment une erreur de déréférencement d'un pointeur incomplet, quelle que soit la manière dont je procède, par exemple :
Le simple fait d'accéder à automaton me renvoie l'erreur. Je suppose que si j'arrive à comprendre comment y accéder, je saurai ensuite de la même façon accéder à nb_states de automaton. Quelqu'un peut-il m'aider?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 struct ndd *nd; nd = (struct ndd*) ndd_create_inequation_msdf(r, n, c, b); nd->automaton;
D'avance merci
Partager