Partilhar via


Aviso do compilador C4867

'função': lista de argumentos ausentes de chamada de função; Use 'Call' para criar um ponteiro para o membro

Observações

Um ponteiro para a função de membro foi inicializado incorretamente.

Esse aviso pode ser gerado como resultado do trabalho de conformidade do compilador que foi feito para o Visual Studio 2005: conformidade aprimorada de ponteiro para membro. O código compilado antes do Visual Studio 2005 agora gerará C4867.

Este aviso é sempre emitido como um erro. Use o pragma de aviso para desativar esse aviso. Para obter mais informações sobre C4867 e MFC/ATL, consulte _ATL_ENABLE_PTM_WARNING.

Example

O exemplo a seguir gera 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
   }
};