컴파일러 오류 C3053
'symbol': 'threadprivate'는 글로벌 또는 정적 데이터 항목에만 사용할 수 있습니다.
threadprivate 에 전달된 기호는 전역 또는 정적이어야 합니다.
다음 샘플에서는 C3053을 생성합니다.
// C3053.cpp
// compile with: /openmp
void Test() {
int x, y;
#pragma omp threadprivate(x, y) // C3053
#pragma omp parallel copyin(x, y)
{
x = y;
}
}
해결 방법:
// C3053b.cpp
// compile with: /openmp /LD
int x, y;
#pragma omp threadprivate(x, y)
void Test() {
#pragma omp parallel copyin(x, y)
{
x = y;
}
}