c++ - 如何声明指向成员模板函数的指针?

标签 c++ function templates member declare

struct S
{
    template <auto> void F(){};
};

S s;
void (S::* pmf)()=s.F<true>;

编译错误,如何解决? 感谢您的帮助。

最佳答案

您应该使用类名来限定成员函数,并且没有从成员函数到成员函数指针的隐式转换,因此显式使用operator&。例如

void (S::* pmf)() = &S::F<true>;

LIVE

关于c++ - 如何声明指向成员模板函数的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61723923/

相关文章:

c++ - 为什么 Google Mocks 发现这个函数调用不明确?

C++ 模棱两可的模板实例化

python - Boost.Python 因静态库而失败

c++ - 将 C++ 数组传递给 Fortran 子例程导致 nan 值出现在结果中

javascript - 请解释一下这个 javascript 函数的定义及其最佳用途(模块模式)

c++ - 需要有关宏定义的帮助

c++ - 通过宏安全地传递模板参数逗号?

python - 新安装的 Fenics 演示在 MPICH_NUMVERSION 上崩溃

c++ - 在 C++ 中从 int* 转换为 char*

javascript - 清理 JavaScript 代码以避免嵌套