編譯器錯誤 C3018
'var1':OpenMP 'for' 測試或增量必須使用索引變數 'var2'
OpenMP 陳述式中的 for
迴圈必須使用相同的變數作為測試,並隨著索引使用而遞增。
下列範例會產生 C3018:
// C3018.cpp
// compile with: /openmp
int main()
{
int i = 0, j = 5;
#pragma omp parallel
{
#pragma omp for
for (i = 0; j < 10; ++i) // C3018
// try the following line instead
// for (i = 0; i < 10; ++i)
j *= 2;
#pragma omp for
for (i = 0; i < 10; j = j + i) // C3018
// try the following line instead
// for (i = 0; i < 10; i = j + i)
j *= 2;
}
}