Udostępnij za pomocą


Błąd kompilatora C3036

"operator" : nieprawidłowy token operatora w klauzuli "redukcja" openMP

Uwagi

Klauzula redukcji nie została poprawnie określona.

Example

Poniższy przykład generuje kod C3036:

// C3036.cpp
// compile with: /openmp
static float a[1000], b[1000], c[1000];
void test1(int first, int last) {
   static float dp = 0.0f;
   #pragma omp for nowait reduction(.:dp)   // C3036
   // try the following line instead
   // #pragma omp for nowait reduction(+: dp)
   for (int i = first ; i <= last ; ++i)
      dp += a[i] * b[i];
}