Cast en pointeur pointant vers un pointeur de fonction

Cast en pointeur pointant vers un pointeur de fonction - C - Programmation

Marsh Posté le 23-05-2010 à 16:50:50    

Bonjour,
 
J'ai une adresse d'un pointeur de fonction contenue dans un unsigned int qu'on va appeller ad et j'ai un pointeur de fonction du type (int) (*) (void *) qu'on va appeler pt_fonc.
 
J'aimerais affecter la valeur de pt_fonc au pointeur de fonction à l'adresse ad. Donc j'y arrive en castant pt_fonc en unsigned int et ad en pointeur :

Code :
  1. * ( (unsigned int *) ad) = (unsigned int) pt_fonc


 
mais j'aimerai bien pouvoir le faire en castant ad en pointeur vers un pointeur de fonction... mais le problème c'est qu'en faisant:

Code :
  1. * ( (int (*) (void *)) * ad ) = pt_fonc


gcc me crie dessus...
 
quelqu'un a une idée ?
 
merci d'avance,
oliparcol
 

Reply

Marsh Posté le 23-05-2010 à 16:50:50   

Reply

Marsh Posté le 23-05-2010 à 17:31:12    

typedef est ton ami dans ce genre de circonstances.  Sinon

Code :
  1. *(int (**)(void*))ad = pt_fun;



---------------
The truth is rarely pure and never simple (Oscar Wilde)
Reply

Marsh Posté le 23-05-2010 à 17:52:06    

super merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed