Поделиться через


Ошибка компилятора C3042

Предложения "copyprivate" и "nowait" не могут указываться вместе в директиве "директива" OpenMP

Предложения 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
      {
      }
   }
}