bonjour,
j'ai un pb de type de pointeur sur fonction que je souhaite passer en paramètre d'une autre fonction.
voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
#include "bib.h"
 
void Execute( long (*ptr) void )	
	[...]
};
 
main()
{
	UneAutreClasse* TheOwner;
	Execute(TheOwner->fonction); // Erreur cannot convert from (long) (UneAutreClasse*) (void) to (long) (__cdecl*) (void)
}
 
Ailleurs est défini (bib.h):
 
class UneAutreClasse {
public :
	long fonction(void);
}
L'erreur qu'il me retourne donc est qu'il ne peut convertir un (long) (UneAutreClasse*) (void) vers un (long) (__cdecl*) (void).

Quelqu'un saurait comment ne pas faire voir le type de TheOwner au compilo ? et passer directement la fonction comme si elle était déclarée dans le même fichier ?

thanks