Condividi tramite


Avviso del compilatore C4867

'function': function call missing argument list; usare 'call' per creare un puntatore al membro

Un puntatore alla funzione membro è stato inizializzato in modo non corretto.

Questo avviso può essere generato in seguito al lavoro di conformità del compilatore eseguito per Visual Studio 2005: conformità avanzata del puntatore a membro. Il codice compilato prima di Visual Studio 2005 genera ora C4867.

Questo avviso viene sempre generato come errore. Usare il pragma warning per disabilitare l'avviso. Per altre informazioni su C4867 e MFC/ATL, vedere _ATL_ENABLE_PTM_WARNING.

Esempio

L'esempio seguente genera l'errore 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
   }
};