'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
}