Partager via


Avertissement du compilateur C4867

'fonction' : liste d'arguments manquante dans l'appel de fonction ; utilisez 'appel' pour créer un pointeur vers membre

Un pointeur vers une fonction membre n'a pas été correctement initialisé.

Cet avertissement peut être dû à la mise en conformité du compilateur pour Visual C++ 2005 : conformité pointeur vers membre améliorée. Le code compilé avant Visual C++ 2005 génère à présent l'erreur C4867.

Cet avertissement est toujours émis en tant qu'erreur. Utilisez le pragma warning pour désactiver cet avertissement. Pour plus d'informations sur l'erreur C4867 et MFC/ATL, consultez _ATL_ENABLE_PTM_WARNING.

Exemple

L'exemple suivant génère l'erreur C4867 :

// C4867.cpp
// compile with: /c
class A {
public:
   void f(int) {}

   typedef void (A::*TAmtd)(int);

   struct B {
      TAmtd p;
   };

   void g() {
      B b = {f};   // C4867
      B b2 = {&A::f};   // OK
   }
};