Sdílet prostřednictvím


Chyba kompilátoru C3043

Direktiva OpenMP critical nejde vnořit do direktivy critical se stejným názvem.

Poznámky

Kritickou direktivu critical nelze vnořit do direktivy, která používá stejný název.

Example

Následující příklad vygeneruje C3043:

// C3043.cpp
// compile with: /openmp /c
#include "omp.h"

int main() {
   int n1 = 1, n2 = 2, n3 = 3;

   #pragma omp parallel
   {
      ++n2;

      #pragma omp critical(MyTest)
      {
         ++n2;

         #pragma omp critical(MyTest)   // C3043
         // try the following line instead
         // #pragma omp critical(MyTest2)
         {
            ++n3;
         }
      }
   }
}