建議使用 Visual Studio 2017

編譯器錯誤 C3036

 

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

'operator': OpenMP 'reduction' 子句中有無效的運算子語彙基元

未正確指定 reduction 子句。

下列範例會產生 C3036:

// C3036.cpp  
// compile with: /openmp  
static float a[1000], b[1000], c[1000];  
void test1(int first, int last) {  
   static float dp = 0.0f;  
   #pragma omp for nowait reduction(.:dp)   // C3036  
   // try the following line instead  
   // #pragma omp for nowait reduction(+: dp)  
   for (int i = first ; i <= last ; ++i)  
      dp += a[i] * b[i];  
}  

顯示: