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


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

"встроенная" : встроенная функция не допускается непосредственно в параллельном регионе

Встроенная функция компилятора не может находиться в области omp parallel . Чтобы устранить эту проблему, переместите встроенные компоненты из региона или замените их не встроенными эквивалентами.

Пример

Следующий пример создает C3012 и показывает один из способов ее устранения:

// C3012.cpp
// compile with: /openmp
#ifdef __cplusplus
extern "C" {
#endif
void* _ReturnAddress();
#ifdef __cplusplus
}
#endif

int main()
{
   #pragma omp parallel
   {
      _ReturnAddress();   // C3012
   }
   _ReturnAddress();      // OK
}