編譯器錯誤 C3031
'var' : 'reduction' 子句中的變數必須有純量算術類型
錯誤類型的變數已傳遞給簡化子句。
下列範例會產生 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
;
}