编译器错误 C3033

“var”: “clause”子句中的变量不能是常量限定类型

传递给某些子句的值不能为 const 变量。

下面的示例生成 C3033:

// C3033.cpp
// compile with: /openmp /link vcomps.lib
int main() {
   const int val = 1;
   int val2 = 1;

   #pragma omp parallel reduction(+ : val)   // C3033
   ;

   #pragma omp parallel reduction(+ : val2)   // OK
   ;
}