編譯器錯誤 C3047
OpenMP 'sections' 區域中的結構化區塊,前面必須是 '#pragma omp section'
由 sections 指示詞引入之程式碼區塊中的任何程式碼,都必須位於由 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
}
}
}