Erreur du compilateur C3025
'clause' : expression intégrale attendue
Une clause nécessite une expression entière, mais une expression non entière lui a été affectée.
Exemple
L’exemple suivant génère l’erreur C3025.
// C3025.cpp
// compile with: /openmp /link vcomps.lib
#include <stdio.h>
#include "omp.h"
float f = 2.0F;
int main()
{
int i = 0;
// OK
puts("Test with int");
#pragma omp parallel for num_threads(i)
for (i = 1; i <= 2; ++i)
printf_s("Hello World - thread %d - iteration %d\n",
omp_get_thread_num(), i);
puts("Test with float");
#pragma omp parallel for num_threads(f) // C3025
for (i = 1; i <= 2; ++i)
printf_s("Hello World - thread %d - iteration %d\n",
omp_get_thread_num(), i);
}