如何将函数传递/命名为参数

问题描述

我有一个函数,该函数需要另一个函数作为参数:

T reduce(T* pBegin,T* pEnd,T(*operate)(T,T))
{
    T temp = *pBegin;
    for (T* p = pBegin + 1; p < pEnd; p++)
        temp = operate(temp,*p);
    return temp;
}

这是它的使用方式:

int vec[] = { 12,14,6,-8 };
cout << reduce<int>(vec,vec + 4,[](int x,int y){ return (x > y) ? x : y; }
);

为什么函数名称[]?是因为vec数组吗?可能还有其他东西吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)