Condividi tramite


Avviso del compilatore C4867

'funzione': chiamata di funzione senza elenco di argomenti; utilizzare 'chiamata' per creare un puntatore al membro

Un puntatore a una funzione membro è stato inizializzato in modo errato.

Questo avviso può essere generato in seguito alle operazioni di conformità eseguite per Visual C++ 2005: conformità avanzata puntatore a membro.Il codice compilato con una versione precedente a Visual C++ 2005 genererà l'errore C4867.

Questo avviso viene sempre generato come un errore.Per disabilitarlo, utilizzare il pragma warning.Per ulteriori informazioni sull'avviso C4867 e su MFC/ATL, vedere _ATL_ENABLE_PTM_WARNING.

Esempio

Nell'esempio seguente viene generato 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
   }
};