Erro do compilador C3031
'var': variável em cláusula 'reduction' deve possuir tipo aritmético escalar
Uma variável do tipo incorreto foi passada para uma cláusula de redução.
A amostra a seguir gera 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
;
}