是否可以在 C++ 中创建一个未在类中定义A
但可以视为方法指针的函数?例如。:
typedef bool (A::*MethodType)(int a);
MethodType g_someMethod = &A::SomeMethod;
现在,我想创建一个AnotherMethod
类型为的新函数MethodType
。我试图做以下事情:
bool A_AnotherMethod(A* _this, int a) {
std::cout << __FUNCTION__ << "\n";
return true;
}
MethodType g_someMethod = A_AnotherMethod;
// ...
(this->*g_someMethod )(42);
但我明白了
error C2440: '=' : cannot convert from 'bool (__cdecl *)(A *,int)' to 'bool (__cdecl A::* )(int)'
如何正确执行?