Delen via


Compilerfout C3038

'var' : variabele in de 'privé' clausule kan geen reductievariabele zijn in de omsluitende context

Opmerkingen

Variabelen die in de reductieclausule van een parallelle richtlijn worden weergegeven, kunnen niet worden opgegeven in een privéclausule voor een werkdelingsrichtlijn die is gekoppeld aan de parallelle constructie.

Example

In het volgende voorbeeld wordt C3038 gegenereerd:

// C3038.cpp
// compile with: /openmp /c
int g_i, g_i2;

int main() {
   int i;

   #pragma omp parallel reduction(+: g_i)
   {
      #pragma omp for private(g_i)   // C3038
      // try the following line instead
      // #pragma omp for private(g_i2)
      for (i = 0; i < 10; ++i)
         g_i += i;
   }
}