Erreur du compilateur C3042
Les clauses « copyprivate » et « nowait » ne peuvent pas figurer en même temps dans la directive OpenMP « directive »
Les clauses copyprivate et nowait s’excluent mutuellement sur la directive spécifiée. Pour corriger cette erreur, supprimez l’une des clauses copyprivate
ou nowait
ou les deux.
L’exemple suivant génère l’erreur 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
{
}
}
}