Freigeben über


Compilerwarnung C4867

'function': Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie 'call', um einen Zeiger auf den Member zu erstellen.

Ein Zeiger auf die Memberfunktion wurde falsch initialisiert.

Diese Warnung kann als Ergebnis der Compilerkonformität generiert werden, die für Visual Studio 2005 ausgeführt wurde: erweiterte Zeiger-zu-Member-Konformität. Code, der vor Visual Studio 2005 kompiliert wurde, generiert jetzt C4867.

Diese Warnmeldung wird immer als Fehler ausgegeben. Verwenden Sie das warning -Pragma, um diese Warnung zu deaktivieren. Weitere Informationen zu 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
   }
};