コンパイラ エラー C3029
'symbol' : OpenMP ディレクティブのデータ共有句で一度だけ使用することができます
シンボルは、ディレクティブの 1 つ以上の句で複数回使用されました。 シンボルは、ディレクティブで一度だけ使用することができます。
次の例では C3029 が生成されます。
// C3029.cpp
// compile with: /openmp /link vcomps.lib
#include "omp.h"
int g_i;
int main() {
int i, x;
#pragma omp parallel reduction(+ : x, x) // C3029
;
#pragma omp parallel reduction(+ : x) // OK
;
#pragma omp parallel private(x) reduction(+ : x) // C3029
;
#pragma omp parallel reduction(+ : x) // OK
;
}