我正在模板中使用指向成员类型的指针,目前我正在做这样的事情:
template <typename Base, typename Type, Type Base::* Var>
struct Member
{
//Stuff goes here.
};
但是必须定义 Base、Type 和 Var,似乎有点多余,因为 Base 和 Type 隐含在 Var 的类型中。
有没有办法做到这一点,这样,当使用/调用成员结构时,它只需要使用单个指向成员参数的指针?就像,理论上,是这样的:
template <typename Base, typename Type, Type Base::* Var>
struct Member<Var>
{
//stuff goes here
};
struct S
{
int memberVal;
};
int main()
{
Member<&S::memberVal> example;
};
谢谢您的帮助!