Error del compilador C3012
"intrinsic": función intrínseca no permitida directamente dentro de una región paralela
Una función intrínseca del compilador no se permite en una región omp parallel
. Para corregir este problema, saque los intrínsecos de la región o reemplácelos por equivalentes no intrínsecos.
Ejemplo
El ejemplo siguiente genera el error C3012 y muestra cómo corregirlo:
// C3012.cpp
// compile with: /openmp
#ifdef __cplusplus
extern "C" {
#endif
void* _ReturnAddress();
#ifdef __cplusplus
}
#endif
int main()
{
#pragma omp parallel
{
_ReturnAddress(); // C3012
}
_ReturnAddress(); // OK
}