Avec 35 ans de retard
Oui, mais :
devrait fonctionner (et c'est un peu le cas recherché, càd qu'on ne connaît que le type "de base" et on ne manipule donc les données via des pointeurs sur la structure base).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 struct derive varDeriv; struct base* pBase = (struct base*) &varDeriv; int i = pBase->membreBase; // En réalité varDeriv._base.membreBase
Bien sûr syntaxiquement et sémantiquement c'est pas la même chose, c'est pour ça que je parlais en termes d'agencement en mémoire, d'où le cast. Le standard garantit la validité de ce genre de choses (il me semble, j'en suis quasiment sûr), après je pourrais pas retrouver la citation exacte.
Partager