Erreur du compilateur C3014
boucle for attendue à la suite de la directive OpenMP « directive »
C’est une erreur qui se produit en présence de tout autre élément qu’une boucle for
de suite après une directive #pragma omp for
.
L’exemple suivant génère l’erreur 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)
{
}
}