C - typedef - heritage ??? [Résolu]

Signaler
Messages postés
2
Date d'inscription
lundi 14 novembre 2005
Statut
Membre
Dernière intervention
14 novembre 2005
-
Messages postés
2
Date d'inscription
lundi 14 novembre 2005
Statut
Membre
Dernière intervention
14 novembre 2005
-
Bonjour,





Je programme en C et j'ai un petit probleme de conception:



j'ai plusieurs structures (definie avec des typedef)



DeviceVariable

DeviceDmx

DeviceSerial



Elles ont toute une petite partie en commun, et je voudrais pouvoir
créer des fonctions qui recevrait n'importe laquelle de ces structures
en parametre.



En bref j'aimerais faire une sorte de typedef qui dit que le type
Device correspond soit a DeviceVariable, soit a DeviceDmx soit a
DeviceSerial.



En C++ il suffirait d'un heritage, mais ici je travaille en C.



Quelqu'un connait il un moyen de contourner cette limitation?



Merci d'avance.

3 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
void* en param et tu castes pour l'envoi si tu es certain que ces structures sont interchangeables.
Je ne vois pas de "limitation", en C on écrit explicitement alors qu'en C++ le compilo prendra implicitement à sa charge mais dans tous les cas le code nécessaire se retrouvera dans l'exécutable.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
15028
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
10 mai 2021
94
Tu peux faire une union peut-être?

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
2
Date d'inscription
lundi 14 novembre 2005
Statut
Membre
Dernière intervention
14 novembre 2005

Oui, avec void* dans le prototype des fonctions, c'est ce que je me disais, mais je ne trouvais pas ca tres propre.



Y'a moyen de bidouiller qqchose avec une union, mais ca ne me plait pas vraiment.



Merci a tous