大家好,我正在尝试使用cilk plus reducer做一个简单的find min操作。出于某种奇怪的原因,我能够包含reducer_min库,但无法使用calc_min函数。有人知道我为什么收到此错误吗?

47:错误:“类cilk :: reducer_min_index”没有名为“ calc_min”的成员

#include <cilk.h>
#include <reducer_min.h>
#include <iostream>
void findMin(int *d, int *v)
{

    int nv, totalnv;
    *d = largeint;
    cilk::reducer_min_index<unsigned,int> min;
    cilk_for (int i = 0; i < totalnv ; i++)
    {
        if(notdone[i] && mind[i] < min.get_value())
        {
            min.calc_min(i,ohd[i]);
        }
    }
    cilk_sync;
    *v = min.get_index();
    *d = min.get_value();
}


任何建议将不胜感激!

最佳答案

您可能需要将i强制转换为无符号,以适合模板cilk::reducer_min_index<unsigned,int>
因此,将min.calc_min(i,ohd[i]);替换为min.calc_min((unsigned)i,ohd[i]);

资料来源:Source code

关于c++ - 找不到reducer_min_index的calc_min函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20294798/

10-09 19:34