Structure et void* en paramètres
Bonjour,
J'ai besoin d'une petite explication, pourquoi ma structure (Automate) n'est pas préservé lors du passage par le void *
Je m'y suis sûrement mal prit mais je n'arrive pas a déboguer.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| typedef struct data {
bool res;
const Automate* aut;
}Data;
void transition_automate_aux(int origine, char lettre, int fin, void* data) {
Data* d = (Data*) data;
print_automate(d->aut); /* CRASH ERREUR SEGMENTATION */
}
bool meme_langage (const char *expr1, const char* expr2)
{
Data * data = malloc(sizeof(Data));
data->aut = malloc(sizeof(Automate));
bool res;
Automate * aut1 = creer_automate(xxx);
data->aut = aut2;
print_automate(data->aut); /* CRASH PAS */
pour_toute_transition(aut1, transition_automate_aux, &data);
return res;
} |