次の方法で共有


コンパイラの警告 C4867

'function': 関数呼び出しには引数リストがありません。メンバーへのポインターを作成するために 'call' を使用してください

メンバー関数へのポインターが正しく初期化されませんでした。

この警告は、ポインターからメンバーへの準拠が強化された Visual Studio 2005 で実施されたコンパイラ準拠作業の結果として生成されることもあります。 Visual Studio 2005 以前にコンパイルされたコードで C4867 が生成されるようになりました。

この警告は、常にエラーとして表示されます。 この警告を無効にするには、 warning プラグマを使用します。 C4867 と MFC/ATL の詳細は、_ATL_ENABLE_PTM_WARNINGを参照してください。

次の例では 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
   }
};