Bonjour,
J'ai un problème sur la manipulation de la structure union.
Voici la structure de données :
Dans mon cas le champ val est toujours initialisé du type ap_scalar_t*, mais j'ai toujours une erreur de compilation si je met un cast ou pas avec le bout de code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ap_coeff_t typedef struct ap_coeff_t { ap_coeff_discr_t discr; union { ap_scalar_t* scalar; ap_interval_t* interval; } val; } ap_coeff_t;
L'erreur est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ap_mpq_set_scalar(mpq_val, (ap_scalar_t*) (coeff->val), 0);
error: invalid cast from type 'ap_coeff_t::<anonymous union>' to type 'ap_scalar_t*'
Est-ce qu'il y a un moyen de forcer le type de la structure ?
Merci d'avance
zaz83
Partager