编译器错误 C3042
“copyprivate”和“nowait”子句不能同时出现在 OpenMP“directive”指令中
Copyprivate 和 nowait 子句在指定的指令上彼此排斥。 若要修复此错误,请删除 copyprivate
或 nowait
子句之一或两者一起删除。
以下示例生成 C3042:
// C3042.cpp
// compile with: /openmp /c
#include <stdio.h>
#include "omp.h"
double d;
int main() {
#pragma omp parallel private(d)
{
#pragma omp single copyprivate(d) nowait // C3042
{
}
}
}