コンパイラ エラー C3047
OpenMP 'sections' 領域の構造化ブロックの前には '#pragma omp section' が必要です
セクション ディレクティブによって導入されるコード ブロック内のすべてのコードは、 section
ディレクティブによって導入されるコード ブロック内にある必要があります。
このエラーは、Visual Studio 2022 以降のバージョンでは廃止されています。
次の例では C3047 が生成されます。
// C3047.cpp
// compile with: /openmp /c
#include "omp.h"
int main() {
int n2 = 2, n3 = 3;
#pragma omp parallel
{
++n2;
#pragma omp sections
{
#pragma omp section
{
++n3;
}
++n2; // C3047 not enclosed in #pragma omp section
}
}
}