次の方法で共有


コンパイラ エラー C3041

'var': 'copyprivate' 句の変数は、それを囲むコンテキスト内でプライベートである必要があります

copyprivate に渡された変数は、それを囲むコンテキスト内で共有できません。

次の例では C3041 が生成されます。

// C3041.cpp
// compile with: /openmp /c
#include "omp.h"
double d;
int main() {
   #pragma omp parallel shared(d)
   // try the following line instead
   // #pragma omp parallel private(d)
   {
      // or don't make d copyprivate
      #pragma omp single copyprivate(d)   // C3041
      {
      }
   }
}