OMP for循环,无需初始化

时间:2018-06-26 02:06:56

标签: c++ iterator openmp

我正在尝试使用openmp运行代码段,但是由于for循环中没有初始化,因此它会产生编译错误。迭代器class被定义为here。我无法弄清楚如何在for循环中进行初始化。

我不是C ++方面的专家,所以我将不胜感激。

ntHashIterator itr(seq, h, k);
#pragma omp parallel for  
for(; itr != itr.end(); ++itr){ 
   std::cout << (*itr)[0] << std::endl; 
}

1 个答案:

答案 0 :(得分:1)

OpenMP要求循环采用所谓的规范循环形式。此外,它可以与迭代器一起使用,但是它们必须是随机访问迭代器类型。这似乎不是您的情况,因为您的nHashIterator不支持++=运算符。有关更多详细信息,请参见OpenMP规范。

无论如何,由于您没有提供足够的详细信息(例如它支持的编译器和OpenMP版本),因此很难告诉更多。