Udostępnij za pomocą


Błąd kompilatora C3026

"klauzula": wyrażenie stałe musi być dodatnie

Uwagi

Klauzula została przekazana jako wartość całkowita, ale wartość nie była liczbą dodatnią. Liczba musi być dodatnia.

Przykład

Poniższy przykład generuje kod 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);
}