Udostępnij za pomocą


Błąd kompilatora C3054

"#pragma równoległe omp" nie jest obecnie obsługiwane w klasie ogólnej lub funkcji

Uwagi

Aby uzyskać więcej informacji, zobacz Generics and OpenMP (Ogólne iOpenMP).

Ten błąd jest przestarzały w programie Visual Studio 2022 i nowszych wersjach.

Przykład

Poniższy przykład generuje kod C3054.

// C3054.cpp
// compile with: /openmp /clr /c
#include <omp.h>

ref struct MyBaseClass {
   // Delete the following 7 lines to resolve.
   generic <class ItemType>
   void Test(ItemType i) {   // C3054
      #pragma omp parallel num_threads(4)
      {
         int i = omp_get_thread_num();
      }
   }

   // OK
   void Test2() {
      #pragma omp parallel num_threads(4)
      {
         int i = omp_get_thread_num();
      }
   }
};