포인터 :기능 나는이 같은 몇 가지 일을하려고하고 클래스 멤버
error: ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function.
누군가가 함수 멤버 함수 포인터를 초기화하는 방법을 알고 :
class A {
void *(*func)(void *);
A(void *(*function)(void *)){
func = function;
}
}
class B {
void *real_func(void *);
A ptr;
B()
:ptr(&real_func)
{
...
}
}
을하지만이 오류가 같은 학급에 ???
감사합니다.
struct B {
static void *real_func(void *);
A ptr;
B()
:ptr(&real_func)
{
...
}
};
정적 멤버 함수는 일반 함수와 같은 역할을, 그래서 당신은 그것을 위해 함수 포인터를 만들 수 있습니다
카를로스
내가 매우가는 독서 http://www.cs.technion.ac.il/users/yechiel/c++-faq/pointers-to-members.html하는 것이 좋습니다 그래서 나는 당신이 대신 것을 사용하는 것이 좋습니다 것입니다 회원 포인터의 내용을 통해 – Cramer