Freigeben über


Compilerwarnung C4867

Aktualisiert: November 2007

Fehlermeldung

'Funktion': Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie 'Aufruf', um einen Zeiger auf den Member zu erstellen
'function': function call missing argument list; use 'call' to create a pointer to member

Ein Zeiger auf eine Memberfunktion wurde falsch initialisiert.

Diese Warnmeldung kann außerdem infolge einer Konformitätsverbesserung des Compilers von Visual C++ 2005 ausgegeben werden: Verbesserte Zeiger-auf-Member-Konformität. Code, der mit einer früheren Version als Visual C++ 2005 kompiliert wird, führt zur Warnmeldung C4867. Weitere Informationen finden Sie unter Wichtige Änderungen im Visual C++ 2005-Compiler.

Diese Warnmeldung wird immer als Fehler ausgegeben. Verwenden Sie das warning-Pragma, um diese Warnung zu deaktivieren. Weitere Informationen über C4867 und MFC/ATL finden Sie unter _ATL_ENABLE_PTM_WARNING.

Beispiel

Im folgenden Beispiel wird C4867 generiert.

// 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
   }
};