01net    Web


Actuellement en ligne : 967 Utilisateurs dont 63 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > C/C++
> qui peut m'éxpliquer ce cast : (void * ( * ) ( void * ))FUNC
Auteur
Message
 
<     1       >
babanjida
  
   
      ?   @     Posté le 16/05/2008 17:40:44  
Voter pour ce message
J'ai une fonction définit comme suit :
static void FUNC (arg1 * arg){
}

ensuite j'ai trouvé un casting pour fournir cette fonction en argument d'une autre, ce cast est de cette forme :
(void * ( * ) ( void * ))FUNC

Je demande comment je peut lire ce casting
est ce que ça est just : transformer FUNC en un pointeur {"( * )"} casté à partir de (void *) {"( void * )"} sur un pointeur sur void {"void *"}[color=#00ff4a][/color].
babanjida
  
   
      ?   @     Posté le 21/05/2008 12:35:10  
Voter pour ce message
Merci!!!
camic
  
   
      ?   @     Posté le 26/05/2008 20:18:47  
Voter pour ce message
Salut,

quand on a l'habitude, c'est évident!

il faut décomposer les parenthèses comme suit

(....................) FUNC // cast la variable FUNC
.........(*)(.......) // pointeur de fonction
..............void* // type du paramètre pour la fonction
..void* // type de retour de la fonction

En francçais FUNC est un pointeur de fonction qui accepte une adresse qui peut pointer n'importe quel type de donnée et te retourne une adresse sur le type donnée désiré

<     1       >

01net > Forum de 01net > Programmation et développement > C/C++
> qui peut m'éxpliquer ce cast : (void * ( * ) ( void * ))FUNC

Aller à :

Page générée en : 0.136s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Architecture 3D
Dessinez, meublez, décorez et visualisez vos projets et la maison de vos rêves.
Jeux
Nouveauté : Collectionnez des artefacts dans les musées, et jouez bien vos cartes.