Error del compilador C3018
'var1': el incremento o la prueba 'for' de OpenMP debe utilizar la variable de índice 'var2'
Un bucle for
de una instrucción de OpenMP debe utilizar la misma variable para su comprobación y el incremento porque lo utiliza como su índice.
El ejemplo siguiente genera la advertencia 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;
}
}