Поделиться через


Предупреждение компилятора (уровень 4) C4937

"текст1" и "текст2" неразличимы в качестве аргументов для директивы "директива"

Из-за способа обработки компилятором аргументов директив имена, которые имеют смысл для компилятора, такие как ключевые слова с несколькими текстовыми представлениями (формы с одинарным и двойным подчеркиванием), неразличимы.

Примерами таких строк являются __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 )
   ;
}