我有两个模板类,如下所示:
template<class T>
class pub {
public:
void fun(T a, T b)
{
//do something with a & b
}
}
template<class T>
class sub
{
private:
std::set<funPtr> funPtr;
public:
void fun2( funPtr f)
{
funPtr.insert(funPtr);
}
};
我需要获取指向成员函数
fun
的函数指针。问题是这两个类都是模板类,所以我不知道该怎么做。
如何在C++中解决此问题?
最佳答案
template<typename T>
using funPtr = void (pub<T>::*)(T, T);
用法:
std::set<funPtr<T>> funPtrs;
或简单地(在
sub
内部,其中模板参数T
可见):using funPtr = void (pub<T>::*)(T, T);
和
std::set<funPtr> funPtrs;
关于c++ - 如何创建指向模板成员函数的函数指针?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37281673/