OMP for 循环,无需初始化

OMP for loop with no initialization

本文关键字:初始化 for 循环 OMP      更新时间:2023-10-16

我正在尝试使用 openmp 运行代码片段,但它给出了编译错误,因为for循环中没有初始化。迭代器class在此处定义。我无法弄清楚如何在for循环中初始化。

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

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

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

无论如何,很难说更多,因为您没有提供足够的细节,例如它支持的编译器和 OpenMP 版本。