Compartir a través de


Error del compilador C3041

'var': la variable de la cláusula 'copyprivate' debe ser privada en el contexto envolvente

Una variable que se pase a copyprivate no se puede compartir en el contexto envolvente.

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