À l'aide d'un membre de classe C++ fonctionner comme un C fonction de rappel

J'ai une bibliothèque C qui a besoin d'une fonction de rappel d'être enregistré pour personnaliser le traitement. Le Type de la fonction de rappel est int a(int *, int *).

Je suis en train d'écrire du code C++ semblable à la suivante et tentez d'enregistrer une classe C++ la fonction comme la fonction de rappel:

class A {
  public:
   A();
   ~A();
   int e(int *k, int *j);
};

A::A()
{
   register_with_library(e)
}

int
A::e(int *k, int *e)
{
  return 0;
}

A::~A() 
{

}

Le compilateur renvoie l'erreur suivante:

In constructor 'A::A()',
error:
 argument of type int (A::)(int*, int*)’ does not match int (*)(int*, int*)’.

Mes questions:

  1. Tout d'abord est-il possible de s'inscrire à une classe C++ memeber fonction comme je suis en train de faire et si oui, comment?
    (J'ai lu de 32,8 à http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html. Mais à mon avis il ne résout pas le problème)
  2. Est-il un autre/de meilleure façon de remédier à cette situation?
InformationsquelleAutor Methos | 2009-06-16