opt*_*nal 3 c++ templates pointers typedef member
标题几乎说明了一切!
有没有漂亮/简单的方法来做到这一点?由于函数指针不能指向成员函数,并且成员函数需要知道成员所属的类,但在这种情况下没有这样的信息,因为函数来自的类将不同.请只有标准库!
template <class A>
typedef void (A::*Function)(Parameters p);
Run Code Online (Sandbox Code Playgroud)
您可以尝试将其包装在这样的结构中:
template <class T>
struct method_ptr
{
typedef void (T::*Function)(Parameters p);
};
class A
{
public:
void foobar(Parameters);
};
// ...
method_ptr<A>::Function pfoobar = &A::foobar;
Run Code Online (Sandbox Code Playgroud)