OpenMP,无效的控制谓词 - 列表和迭代器

时间:2018-01-03 19:14:03

标签: c++ list iterator openmp

我有gcc版本5.4.0 20160609.我尝试将此循环平行化,但它并不想真正地工作。我尝试使用互联网上的例子,但没有帮助。应该怎么样?

void Text::readText(){
    std::cout<<"start reading"<<std::endl;
    omp_set_num_threads(2);

    #pragma omp parallel
    {
      std::list<std::string>::iterator it;

     #pragma omp for
      for (it = listOfWordsFromText.begin(); it!=listOfWordsFromText.end(); it++)
      {
        std::cout << *it << " thread: "<<omp_get_thread_num()<< std::endl; 
      }
}
}
  

Text.cpp:41:3:错误:控制谓词无效      for(it = listOfWordsFromText.begin(); it!= listOfWordsFromText.end(); it ++)

编辑:我可以使用OpenMP 4.5(我认为是这样),版本2.0不是最新的

0 个答案:

没有答案