1
#pragma omp parallel for reduction(+ : numOfVecs)
for(itc=clus.begin() ; itc!=clus.end() ; itc++)
{
numOfVecs += (*itc)->getNumOfVecs();
}
我有几个代码,就像上面的代码一样,我需要循环中的迭代器。但是我得到错误'无效控制谓词'。有什么办法可以解决这个问题吗?OpenMP - For-loop中的迭代器
在此先感谢
顺便说一句,我使用的代码::块和MinGW的最新版本。我是新手,但我认为他们在-fopenmp之后默认支持openmp3.0。我正在使用的迭代器是列表迭代器。
问题是,当前的OpenMP规范不允许运算符“!=”。英特尔编译器目前确实允许“!=”,所以有一个例子可以实现。在未来的OpenMP规范中,它很可能会发生变化。在此之前,您将被限制为<, <=, >,并且> =作为您可以使用的关系运算符。 – ejd 2011-06-08 01:07:20