Type d'1 variable comme paramètre à 1 fonction [C] - Programmation
Marsh Posté le 05-11-2001 à 08:35:33
bah tu mets un autre paramètre qui sera par exemple un enum que t'auras défini...
Marsh Posté le 05-11-2001 à 11:36:16
Un template ca peut pas aller ?
[edtdd]--Message édité par beber.doneux01--[/edtdd]
Marsh Posté le 05-11-2001 à 21:54:46
El_Gringo, peux tu étayer un peu + siouplait
beber.doneux01, Un template ca peut pas aller ?
Non car le code est du C et non du C++
Marsh Posté le 05-11-2001 à 21:59:43
Tu rajoutes un 3ième paramètre pour le type (un enum par exemple )
Et a après un tu mets un switch et des casts.
C'est crade, mais le C c'est ça
Marsh Posté le 05-11-2001 à 22:07:09
Oui ce qui me gène à mettre 1 switch et des casts est que tu dois reprendre ta fonction à chaque nouveau type d'objet.
Marsh Posté le 06-11-2001 à 10:31:25
Si tu veux que ta fonction puisse traiter différents types d'objets, cherches du côté des templates !
Marsh Posté le 06-11-2001 à 10:32:07
Verdoux a écrit a écrit : Tu rajoutes un 3ième paramètre pour le type (un enum par exemple ) Et a après un tu mets un switch et des casts. C'est crade, mais le C c'est ça |
--> squatteur d'idées !
Marsh Posté le 06-11-2001 à 11:20:53
precise un peu ta fonction Comparer et ce ke tu souhaites
Marsh Posté le 06-11-2001 à 23:34:13
Je vais essayer de préciser en peu + :
Voila, j'ai :
- 1 liste(multiple) de cellules contenant des pointeurs vers objets, void * ptrObj.
- pour effectuer des recherche par dichotomie sur les objets pointés par la liste, existe 1 tableau de pointeurs void * qui pointent NON pas vers les objets directement MAIS vers les cellules.
Je désire que mon tableau de recherche par dicho. soit réutilisable pour tous types d'objets et pour tous types de structures(cellules) pointant vers des objets mais pour ce faire j'ai besoin de fonctions les + génériques possibles.
D'ou ma question pour savoir comment préciser par arguments à 1 fonction 1 type d'objet.
/* Structure contenant le tab. de recherche */
typedef struct {
void * tabRechDicho[LGMAX];
int fin;
}LISTE_RECH;
/* Fonction de recherche */
BOOLEEN RechDicho (
LISTE_RECH * lr,
void * ptrObj, \* Obj à rechercher *\
??? \* Précise le type d'objet->Casts*\
int(compar *) (void *, void* ) \*Fonction comparaison*\
....
)
{\* Mon pb dans le corps de la fonction est de caster les objets
à comparer *\
}
Est ce + clair ?
Marsh Posté le 14-11-2001 à 18:07:58
je voulais ke tu precises les differents types ke tu veux veux caster (y'en a combien ?), et comment fonctionne ta comparaison
peux-tu juste passer en parametre la taille de ton type ?
Marsh Posté le 05-11-2001 à 00:15:24
Comment préciser le type d'1 objet à une fonction générique du genre :
int Fonction (
void * pObj,
[#00ff00]/*Comment préciser le type d'objet*/[#00ff00]
int (* Comparer) (void *,void *),
int tailleObj
)
Merci