如何从另一个成员函数调用成员函数指针?
How can i call a member function pointer from another member function?
我有一个class,它有一个存储成员函数指针的数据成员。指针在不同的时间指向不同的成员函数。我想从另一个成员函数调用这个函数指针。我该怎么做?
class A {
void (A::*fnPointer)() = nullptr;
void callerMemberFunction(){
fnPointer = &A::someMemberFunction; // Store the function
(*fnPointer)(); // I would like to call the function. How can i do?
}
void someMemberFunction(){ ... }
}
您需要指定调用函数的对象:
(this->*fnPointer)();
我有一个class,它有一个存储成员函数指针的数据成员。指针在不同的时间指向不同的成员函数。我想从另一个成员函数调用这个函数指针。我该怎么做?
class A {
void (A::*fnPointer)() = nullptr;
void callerMemberFunction(){
fnPointer = &A::someMemberFunction; // Store the function
(*fnPointer)(); // I would like to call the function. How can i do?
}
void someMemberFunction(){ ... }
}
您需要指定调用函数的对象:
(this->*fnPointer)();