C++ 如何以 符合同一形式模板的函数 作为参数?
标题有点混乱。。我也不知道怎么描述好了,希望你们能看懂。。
例如现在有一组原型为同一形式的函数模板,把它们叫做funx()
它们都是T funx(T arg)
的形式,但是函数体不同
// these called funx()
template <class T>
T fun1(T arg)
{ // do something }
template <class T>
T fun2(T arg)
{ // do something }
再设计一个函数,函数实现需要调用 符合以上形式模板 的函数
void do( funx ,/* some arguments */)
{
funx();
// do something
}
因为是函数模板,无法直接传递funa或者funb的函数指针 作为do()的参数
如何设计do()或者修改funx()来符合要求?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以把调用函数的那个函数以模板的形式实现:`
在具体调用时直接调用即可