다음을 통해 공유


컴파일러 경고 C4867

'function': 함수 호출 누락 인수 목록; 'call'을 사용하여 멤버에 대한 포인터 만들기

멤버 함수에 대한 포인터가 잘못 초기화되었습니다.

이 경고는 Visual Studio 2005에 대해 수행된 컴파일러 규칙 작업( 향상된 포인터-멤버 규칙)의 결과로 생성될 수 있습니다. Visual Studio 2005 이전에 컴파일된 코드는 이제 C4867을 생성합니다.

이 경고는 항상 오류로 발급됩니다. warning pragma를 사용하여 이 경고를 사용하지 않도록 설정합니다. 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
   }
};