Compartilhar via


Erro do compilador C3012

'intrinsic': função intrínseca não permitida diretamente dentro de uma região parallel

Uma função intrínseca do compilador não é permitida em uma região omp parallel. Para corrigir esse problema, mova intrínsecos para fora da região ou substitua-os por equivalentes não intrínsecos.

Exemplo

A amostra a seguir gera C3012 e mostra uma maneira de corrigi-lo:

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

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