我有如下场景:
//class somemethod contains the member variables(declaration) val1 and val2,
//and is defined in somemethod.h.
#include <somemethod.h>
void abovefunction(x)
{
//code that could be made parallel if val1 and val2 is declared private()
}
//abovefunction() is in somemethod.cpp, where the methods of class somemethod
//are described
该函数稍后被某个对象(如 obj.abovefunction(x))调用。由于 val1 和 val2 在 somemethod.h 中声明/初始化,所以我不能将它们用作私有 (val1, val2),并且类似私有 (this->val1, this->val2) 的东西也是不可能的。任何人都可以让我知道在这种情况下使用 OpenMP 进行并行化的最佳方法,其中变量是类的一部分并且声明不在应用 OpenMP 编译指示的代码块的直接范围内?
我在 OpenMP 论坛上问过同样的问题 - http://openmp.org/forum/viewtopic.php?f=3&t=886#p3516
谢谢,
萨扬