建議使用 Visual Studio 2017

編譯器錯誤 C3026

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

'clause': 常數運算式必須是正數

子句已傳遞整數值,但值不是正數。 數字必須是正數。

下列範例會產生 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);  
}  

顯示: