Compiler Error C3040

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Compiler Error C3040.

var' : type of variable in 'reduction' clause is incompatible with reduction operator 'operator'

A variable in a reduction clause cannot be used with the reduction operator.

The following sample generates C3040:

// C3040.cpp  
// compile with: /openmp /c  
#include "omp.h"  
double d;  
  
int main() {  
   #pragma omp parallel reduction(&:d)   // C3040  
      ;  
  
   #pragma omp parallel reduction(-:d)  // OK  
      ;  
}  

Show: