编译器错误 C3034

OpenMP“directive1”指令不能直接嵌套在“directive2”指令中

一些指令不能嵌套。 若要修复此错误,你可以将这两个指令语句合并到一个指令的块中或可以构造连续指令。

以下示例生成 C3034:

// C3034.cpp
// compile with: /openmp /link vcomps.lib
int main() {

   #pragma omp single
   {
      #pragma omp single   // C3034
      {
      ;
      }
   }

   // Two consecutive single clauses are OK.
   #pragma omp single
   {
   }

   #pragma omp single
   {
   }
}