Freigeben über


Compilerfehler C3029

"Symbol": Kann nur einmal in Datenfreigabeklauseln in einer OpenMP-Direktive vorkommen.

Ein Symbol wurde in mindestens einer Klausel in einer Direktive mehr als einmal verwendet. Das Symbol kann in der Direktive nur einmal verwendet werden.

Im folgenden Beispiel wird C3029 generiert:

// 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
      ;
}