Erro do compilador C3026
'clause': a expressão de constante deve ser positiva
Uma cláusula recebeu um valor inteiro, mas não era um número positivo. O número deve ser positivo.
Exemplo
O exemplo a seguir gera o erro C3026:
// C3026.cpp
// compile with: /openmp /link vcomps.lib
#include <stdio.h>
#include "omp.h"
int main()
{
int i;
const int i1 = 0;
#pragma omp parallel for num_threads(i1) // C3026
for (i = 1; i <= 2; ++i)
printf_s("Hello World - thread %d - iteration %d\n",
omp_get_thread_num(), i);
#pragma omp parallel for num_threads(i1 + 1) // OK
for (i = 1; i <= 2; ++i)
printf_s("Hello World - thread %d - iteration %d\n",
omp_get_thread_num(), i);
}