pointeur sur fonction [ c++ ] - Programmation
Marsh Posté le 18-04-2001 à 23:06:49
Ben déjà il faudrait lui définir un proto à ta fonction.
Exemple:
typedef void (*PFonction)(int param1, double param2, char* para3);
Et après tu peux écrire :
ABC::ABC(PFonction fonction) {
...
}
void toto(int param1, double param2, char* para3) {
...
}
int main() {
ABC abc(toto);
...
}
Marsh Posté le 19-04-2001 à 09:26:32
Biface a raison, avec ou sans typedef il faut que tu donne le proto de ta fct, c'est a dire au mini
void (*fct)(...); // Beurk c'est pas beau, mais ca marche
Mon intervention est la suivante : pourquoi donc a tu besoin de cela ! A priori, c'est inutile, dangeureux et peu lisible...
une methode virtuelle ne repond-elle pas mieux a ton besoin ?
Marsh Posté le 21-04-2001 à 17:41:58
Fais gaffe, il me semble que ça marche pas parce que ton pointeur fct est membre de la classe, et donc peut pointer que sur une fonction membre aussi. A vérifier
Marsh Posté le 18-04-2001 à 22:59:40
idealement je possede une classe du type
class abc{
void (*fct);
...
...
public:
abc(void (*f));
}
et un constructeur
abc:abc(void (*f)){
...
}
et je voudrais passer par parametres l'adresse dune fonction pour faire pointer ma fonction membre dessus...
est ce possible et comment?