어떻게 멤버 함수 포인터를 정적 함수로 변환합니까?포인터를 멤버 함수로 변환하여 정적 함수를 가리키는 포인터
class ClassA
{
public:
int n;
void func();
};
void ClassA::func()
{
n = 89;
}
class ClassB
{
public:
float f1;
float f2;
void func(float f);
};
void ClassB::func(float f)
{
f1 += f;
f2 += f;
}
int main (int argc, char *argv[])
{
ClassA* a = new ClassA;
ClassB* b = new ClassB;
//PROBLEM IS HERE
void (* pf_func1)(void*) = ClassA.func;
void (* pf_func2)(void*, float) = ClassB.func;
pf_func1(a);
pf_func2(b, 10);
}
그 코드의 여러 실수가 있습니다 해결 ClassA :: func' 대신에'ClassA.func'을 사용합니다 ... 좋은 책이나 대학 과정에서 C++에 대해 배우는 것으로 시작하는 것이 좋습니다. –