gpt4 book ai didi

c++ - 如何调用传递模板成员方法作为参数

转载 作者:行者123 更新时间:2023-11-28 02:22:47 26 4
gpt4 key购买 nike

<分区>

例如,install<double>(&T::print);无法通过编译。我怎么能通过 T::print作为参数?删除 template <typename M>可以通过编译。但我无法删除 template <typename M> ,因为我在真正的代码中需要它。提前谢谢你。

#include <iostream>

template<typename T>
class Base
{
public:
template <typename M>
void install(void (T::*method)(int))
{
std::cout << "Hello" << std::endl;
}
};

template<typename T>
class Child : public Base<T>
{
public:
void test()
{
install<double>(
&T::print);
}
};

class Grandson : public Child<Grandson>
{
public:
void print(int n)
{
std::cout << "Num:" << n << std::endl;
}
};

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com