C - typedef - heritage ???

Résolu
txa Messages postés 2 Date d'inscription lundi 14 novembre 2005 Statut Membre Dernière intervention 14 novembre 2005 - 14 nov. 2005 à 11:47
txa Messages postés 2 Date d'inscription lundi 14 novembre 2005 Statut Membre Dernière intervention 14 novembre 2005 - 14 nov. 2005 à 12:18
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.
A voir également:

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 nov. 2005 à 12:02
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++
3
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
14 nov. 2005 à 12:04
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...
0
txa Messages postés 2 Date d'inscription lundi 14 novembre 2005 Statut Membre Dernière intervention 14 novembre 2005
14 nov. 2005 à 12:18
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
0
Rejoignez-nous