次のようなシナリオがあります。
//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 で宣言/初期化されているため、private (val1, val2) として使用することはできず、private (this->val1, this->val2) のようなものも使用できません。このような変数がクラスの一部であり、OpenMP プラグマが適用されているコード ブロックの直接のスコープで宣言されていない場合に、OpenMP を使用して並列化する最良の方法を教えてください。
OpenMP フォーラムで同じ質問をしました - http://openmp.org/forum/viewtopic.php?f=3&t=886#p3516
ありがとう、
サヤン