Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1940 connectés 

 


Dernière réponse
Sujet : [C] Type d'1 variable comme paramètre à 1 fonction
HelloWorld 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 ?

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
HelloWorld 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 ?
Pschitt 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 ?
HelloWorld precise un peu ta fonction Comparer et ce ke tu souhaites
El_gringo

Verdoux a écrit a écrit :

Tu rajoutes un 3ième paramètre pour le type (un enum par exemple :D)
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 ! :na:

El_gringo Si tu veux que ta fonction puisse traiter différents types d'objets, cherches du côté des templates !
Pschitt Oui ce qui me gène à mettre 1 switch et des casts est que tu dois reprendre ta fonction à chaque nouveau type d'objet.
verdoux Tu rajoutes un 3ième paramètre pour le type (un enum par exemple :D)
Et a après un tu mets un switch et des casts.
C'est crade, mais le C c'est ça :)
Pschitt 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++
beber.doneux01 Un template ca peut pas aller ?

 

[edtdd]--Message édité par beber.doneux01--[/edtdd]

El_gringo bah tu mets un autre paramètre qui sera par exemple un enum que t'auras défini...
Pschitt 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

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)