Utilisation d'une fonction membre de classe C comme fonction de rappel C
Il est possible d'enregistrer une fonction membre de classe C en tant que fonction de rappel C , mais il y a certaines exigences à satisfaire.
Q1 : Tout d'abord, est-il possible d'enregistrer une fonction membre de la classe C comme j'essaie faire et si oui comment ?
A1 : Oui, il est possible d'enregistrer une fonction membre de la classe C en tant que fonction de rappel si la fonction est déclarée comme fonction statique. Les fonctions membres statiques n'ont pas de pointeur « this » implicite comme premier argument, contrairement aux fonctions membres non statiques. Cela leur permet d'être compatibles avec la signature d'une fonction de rappel C.
Q2 : Existe-t-il une autre/meilleure façon de résoudre ce problème ?
A2 : Voici quelques options alternatives :
Exemple d'utilisation d'une fonction membre statique :
class A { public: A() { register_with_library(&A::e); } ~A() {} static int e(int *k, int *j) { return 0; } };
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!