Erro do Compilador C3014
esperado um loop for seguindo a diretiva “directive” do OpenMP
É um erro para qualquer outra coisa que não seja um loop for
seguir imediatamente uma diretiva #pragma omp for
.
O exemplo a seguir gera C3014:
// C3014.cpp
// compile with: /openmp
int main()
{
int i = 0;
#pragma omp parallel
{
#pragma omp for
for (i = 0; i < 10; ++i) // OK
{
}
}
#pragma omp parallel for
for (i = 0; i < 10; ++i) // OK
{
}
#pragma omp parallel
{
#pragma omp for
{ // C3014
for (i = 0; i < 10; ++i)
{
}
}
}
#pragma omp parallel for
{ // C3014
for (i = 0; i < 10; ++i)
{
}
}
#pragma omp parallel
{
#pragma omp for
i *= 2; // C3014
for (i = 0; i < 10; ++i)
{
}
}
#pragma omp parallel for
i *= 2; // C3014
for (i = 0; i < 10; ++i)
{
}
}