编译器错误 C3029
“symbol”: 只能在 OpenMP 指令中的 data-sharing 子句中出现一次
指令中一个或多个子句中多次使用符号。 符号只能在指令中使用一次。
以下示例生成 C3029:
// C3029.cpp
// compile with: /openmp /link vcomps.lib
#include "omp.h"
int g_i;
int main() {
int i, x;
#pragma omp parallel reduction(+ : x, x) // C3029
;
#pragma omp parallel reduction(+ : x) // OK
;
#pragma omp parallel private(x) reduction(+ : x) // C3029
;
#pragma omp parallel reduction(+ : x) // OK
;
}