Compiler Error C3036
Visual Studio 2015
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 C3036.
operator' : invalid operator token in OpenMP 'reduction' clause
A reduction clause was not specified correctly.
The following sample generates 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];
}
Show: