我有这样的问题:函数模板参数和模板成员函数参数
template <void (*F)(int)> struct FunctionWrapper // This compiles and works
{
static void call_it()
{
F(0);
}
};
class MyClass
{
public:
static void callMe(int k)
{
}
};
template <void (MyClass::*F)(int)> struct FunctionWrapper // Error - F incompatible with declaration
{
static void call_it()
{
MyClass::F(0);
}
};
为什么我可以用一个函数指针(编译时间常数),但不是一个班的成员(甚至是静态的)吗?
你想用你的包装达到什么目的?你有没有考虑过std :: function? – 2013-03-02 15:28:11
我想在我的模板的参数列表中有一个类成员函数,有可能吗? – 2013-03-02 15:44:55