|
도움말에 나와있다시피 클래스 멤버함수의 포인터는 아래처럼 사용합니다
struct TestClass
{
LONG LoadDatFile(PLONG Buffer, PLONG SizeofBufferData)
{
...
return ???;
}
};
void FunctionX()
{
TestClass inst;
long buff[8], cnt=sizeof(buff)/sizeof(buff[0]);
LONG (TestClass::*pFun)(PLONG,PLONG) = &TestClass::LoadDatFile;
long r = (inst.*pFun)(buff,&cnt);
//또는
LONG (__closure *clo)(PLONG,PLONG) = &inst.LoadDatFile;
long r2 = clo(buff,&cnt);
}
왕호박 님이 쓰신 글 :
: LONG (*pFun)(PLONG,PLONG);
: 이런 함수포인터 변수가 있고
:
:
: LONG LoadDatFile(PLONG Buffer, PLONG SizeofBufferData);
: 이런 함수가 있다면
:
:
: pFun = LoadDatFile;
:
:
: 불가능한가요?
:
: E2235 Member function must be called or its address taken
:
: 이런 에러가 뜨네요
:
: 검색해보니 __closure 이런 키워드와 뭔가 관계가 있는거 같기도하고
:
: 어떻게 해야 하나요?ㅠㅜ
|