컴파일러 경고 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
}
};