Avertissement du compilateur C4867
Mise à jour : novembre 2007
Message d'erreur
'fonction' : liste d'arguments manquante dans l'appel de fonction ; utilisez 'appel' pour créer un pointeur vers membre
'function': function call missing argument list; use 'call' to create a pointer to member
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. Pour plus d'informations, consultez Modifications avec rupture dans le compilateur Visual C++ 2005.
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
}
};