Udostępnij za pomocą


Błąd kompilatora C3031

"var": zmienna w klauzuli "reduction" musi mieć typ arytmetyczny skalarny

Uwagi

Zmienna nieprawidłowego typu została przekazana do klauzuli redukcji.

Example

Poniższy przykład generuje kod C3031:

// C3031.cpp
// compile with: /openmp /link vcomps.lib
#include <stdio.h>
#include "omp.h"

typedef struct {
   int n;
} Incomplete;

extern Incomplete inc;
int i = 9;

int main() {
   #pragma omp parallel reduction(+: inc)   // C3031
      ;

   #pragma omp parallel reduction(+: i)     // OK
      ;
}