Problème déréférencement d'un pointeur incomplet
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 :
Code:
1 2 3 4 5 6
|
typedef struct {
uint4 dim;
automaton *automaton;
uint1 base, properties;
} ndd; |
où uint4, uint1 et automaton sont des structures également. Celle qui m'interesse ici est automaton, définie comme suit :
Code:
1 2 3 4 5 6
| typedef struct {
(...)
uint4 nb_states; /* Number of states. */
(...)
} automaton; |
Par exemple, la méthode
Code:
ndd *ndd_create_inequation_msdf(r, n, c, b)
de la librairie retourne un pointeur vers un ndd.
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 :
Code:
1 2 3 4
|
struct ndd *nd;
nd = (struct ndd*) ndd_create_inequation_msdf(r, n, c, b);
nd->automaton; |
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?
D'avance merci