3
class C {
public:
int f (const int& n) const { return 2*n; }
int g (const int& n) const { return 3*n; }
};
我们可以定义一个函数指针p
到C::f
这样。
typedef int (C::*Cfp_t) (const int&) const;
Cfp_t p (&C::f);
为了确保p
不改变(由p = &C::g;
例如),我们可以这样做::
const Cfp_t p (&C::f);
int (C::*p) (const int&) const (&C::f);
的p
定义可以使用typedef
被分割
现在,这种情况下p
的类型是什么?我们如何在不使用typedef的情况下完成p
的最后定义? 我知道,因为它产生
int (__thiscall C::*)(int const &)const
谢谢你这个快速简洁的答案。 – Krokeledocus