其他分享
首页 > 其他分享> > c – 可以从指向成员函数模板参数的指针推导出类类型

c – 可以从指向成员函数模板参数的指针推导出类类型

作者:互联网

是否可以从其指向memmber T :: * f的指针推导出类T的类型,如下所示.

struct Foo
{
    void func(){}
};

template<typename T, void (T::*f)()>
void bar()
{
}

int main()
{
    bar<Foo,Foo::func>();
    // bar<Foo::func>(); // Desired
}

解决方法:

在C 17中,您将被允许写作

template<auto M>
void bar();

这使得

bar<&Foo::func>();

标签:type-deduction,template-deduction,pointer-to-member,c,templates
来源: https://codeday.me/bug/20190724/1523421.html