【发布时间】:2013-11-08 11:01:13
【问题描述】:
模板可以接受非类型函数指针参数,但是如果所有可能的函数指针参数都被接受,就会出现问题,例如:
void dummy()
{
}
template <typename FT, FT* fp>
void proxy()
{
fp();
}
int main()
{
proxy<decltype(dummy), &dummy>();
return 0;
}
如您所见,这非常麻烦。是否有更方便的方法来提供“通配符”函数指针作为非类型模板参数?
【问题讨论】:
-
@Chowlett 不,不一样。您引用的问题缩小了可以提供的函数指针的种类。
-
@KerrekSB Watson 先生,我不能使用函数来执行此操作,因为函数参数不能用于实例化更多模板。
-
@user1095108:啊,我的一个基本疏忽。
-
也许宏是这个用例的明智解决方案。