Partager via


Erreur du compilateur C3012

'intrinsèque' : fonction intrinsèque non autorisée directement dans une région parallèle

Une fonction intrinsèque du compilateur n’est pas autorisée dans une région omp parallel . Pour résoudre ce problème, déplacez les intrinsèques hors de la région ou remplacez-les par des équivalents non intrinsèques.

Exemple

L’exemple suivant génère l’erreur C3012 et montre un moyen de le corriger :

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

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