C++ 减速器的计算最小值函数最小值指数为';找不到

C++ 减速器的计算最小值函数最小值指数为';找不到,c++,c,cilk-plus,C++,C,Cilk Plus,嘿,伙计们,我正试图用cilk plus减速机做一个简单的find min操作。出于某种奇怪的原因,我可以包括reducer_min库,但我不能使用函数calc_min。有人知道我为什么会出现此错误吗 47:错误:“类cilk::reducer\u min\u index”没有名为“calc\u min”的成员 #include <cilk.h> #include <reducer_min.h> #include <iostream> void findMin

嘿,伙计们,我正试图用cilk plus减速机做一个简单的find min操作。出于某种奇怪的原因,我可以包括reducer_min库,但我不能使用函数calc_min。有人知道我为什么会出现此错误吗

47:错误:“类cilk::reducer\u min\u index”没有名为“calc\u 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();
}
#包括
#包括
#包括
void findMin(int*d,int*v)
{
int nv,totalnv;
*d=较大;
cilk::减速器_min _索引min;
cilk_表示(int i=0;i

任何建议都将不胜感激

您可能必须将i强制转换为unsigned,以适应模板
cilk::reducer\u min\u index

因此,替换
min.calc_min(i,ohd[i])带有
min.calc_min((未签名)i,ohd[i])


资料来源:

我可以肯定的是,它对我有效

了解您所在的平台以及您使用的Cilk库的版本会有所帮助。(如果您使用的是英特尔编译器,则与您的编译器版本相同。如果您使用的是Cilk开源工具包,则可以定义环境变量
Cilk_version
,并运行任何Cilk程序来打印Cilk版本信息。)

顺便说一句,请注意Cilk库头将位于默认编译器包含路径中目录的
Cilk
子目录中,因此包含它们的正常方式是使用

#include <cilk/cilk.h>
#include <cilk/reducer_min.h>
#包括
#包括
如果使用该表单,您将从标准位置获取标题,而无需将Cilk库添加到包含路径


尼尔·费曼

“英特尔Cilk Plus运行时开发”

我已经尝试过了,但仍然不起作用。它给了我同样的错误。你使用的是什么编译器(以及它的版本?)。在我添加了largeint、notdone、mind和ohd的缺失声明之后,您的示例使用ICC14.0.1为我编译。