如果我有类似的东西
class MyClass
{
public:
void callMe()
{
cout << "called";
}
};
template< void (MyClass::*callFunc)() > struct A
{
void A_call()
{
callFunc();
}
};
int main(int argc, char *argv[])
{
struct A <&MyClass::callMe> object;
object.A_call();
}
这不会编译,因为它说“callFunc:术语不评估为采用 0 个参数的函数”。
类成员函数不是编译时常量吗?