컴파일러 오류 C3058
'symbol': 기호를 'copyin' 절에 사용하기 전에 'threadprivate'로 선언하지 않았습니다.
기호를 먼저 threadprivate 로 선언해야 copyin 절에 사용할 수 있습니다.
다음 샘플에서는 C3058을 생성합니다.
// C3058.cpp
// compile with: /openmp
int x, y, z;
#pragma omp threadprivate(x, z)
void test() {
#pragma omp parallel copyin(x, y) // C3058
{
}
}
해결 방법:
// C3058b.cpp
// compile with: /openmp /LD
int x, y, z;
#pragma omp threadprivate(x, y)
void test() {
#pragma omp parallel copyin(x, y)
{
}
}