Share via


Compilerwarnung C4867

"funktion": Funktionsaufruf fehlende Argumentliste; Verwenden von "Call" zum Erstellen eines Zeigers zum Mitglied

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