Share via


Upozornění kompilátoru C4867

'function': funkce volá chybějící seznam argumentů; Vytvoření ukazatele na člen pomocí volání

Ukazatel na členovou funkci byl inicializován nesprávně.

Toto upozornění lze vygenerovat v důsledku práce kompilátoru, která byla provedena pro Visual Studio 2005: vylepšená shoda ukazatele na člena. Kód zkompilovaný před sadou Visual Studio 2005 teď vygeneruje C4867.

Toto upozornění je vždy vyvoláno jako chyba. K zakázání tohoto upozornění použijte direktivu pragma upozornění . Další informace o knihovně C4867 a MFC/ATL najdete v tématu _ATL_ENABLE_PTM_WARNING.

Příklad

Následující ukázka vygeneruje 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
   }
};