为什么会出现此错误,该怎么办?

error: firstprivate variable 'j' is private in outer context

void foo() {
    int i;
    int j = 10;
    #pragma omp for firstprivate(j)
    for (i = 0; i < 10; i++)
        printf("%d\n", j);
}

最佳答案

如果您使用杂注它会起作用

#pragma omp parallel for firstprivate(j)


请注意,omp foromp parallel for不是同一件事:后者是omp foromp parallel的简写。

关于c - OpenMP-为什么firstprivate导致错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4712998/

10-12 20:08