#define UCHAR unsigned char
typedef bool (*FUNC)(UCHAR uc1, UCHAR uc2);
typedef void(*PF)(FUNC, UCHAR*);
PF Assign;
class Class {
private:
UCHAR buf[32];
bool func(UCHAR c1, UCHAR c2) { }
public:
Class::Class(void) {
Assign(func, buf); // <<< Microsoft VC++ error C3867
}
Class::~Class() { }
};
error C3867: 'Class::func': function call missing argument list; use '&Class::func' to create a pointer to member비주얼 C++ 오류는 C3867 및 C2664
나는이 오류가
Assign(&Class::func, buf); // <<< Microsoft VC++ error C2664
위의 오류 메시지의 제안을 시도하는 경우 이 Assign() 함수를 컴파일하면됩니까? 이 typedef는 인터페이스해야하는 라이브러리의 typedef입니다.
이에게 행동을 절대하지 마십시오 : 당신이 "포인터"당신이
std::function
에 보일 것입니다 일반적인 기능이 필요하면'typedef unsigned char UCHAR; ' –