Compartir a través de


Error del compilador C3029

'symbol': solamente puede aparecer una vez en cláusulas de uso compartido de datos de una directiva de OpenMP

Se utilizó un símbolo más de una vez en una o varias cláusulas de una directiva. El símbolo solo puede utilizarse una vez en la directiva.

El ejemplo siguiente genera la advertencia 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
      ;
}