编译器警告(等级 4)C4937

“text1”和“text2”都作为“directive”的参数时不可区分

由于编译器处理指令的参数的方式不同,无法区分对编译器具有意义的名称,如具有多文本表现形式(单下划线或双下划线形式)的关键字。

此类字符串的示例包括 __cdecl 和 __forceinline。 请注意,在 /Za 下,仅双下划线形式有效。

下面的示例生成 C4937:

// C4937.cpp
// compile with: /openmp /W4
#include "omp.h"
int main() {
   #pragma omp critical ( __leave )   // C4937
   ;

   // OK
   #pragma omp critical ( leave )
   ;
}