次の方法で共有


コンパイラ エラー C3012

'intrinsic': 組み込み関数を、並行領域内で使用することはできません

コンパイラ組み込み関数 は、 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
}