int main()
{
int a=0;
omp_set_num_threads(2);
#pragma omp parallel reduction(+ : a)
{
a = omp_get_thread_num()+1;
}
std::cout << "Output:" << a;
return 1;
}
openmp reduction を使用して間違った出力が得られます...次のコードでは、reduction(+) は threadnum() の合計の出力を示しますが、reduction (-) について言及すると、同じ出力が得られます... "+" と "-" は 3 として出力されます。