conform
pragma
Специфика C++
Указывает поведение параметра компилятора /Zc:forScope
во время выполнения.
Синтаксис
#pragma conform(
name [ [ {on
|off
} ] [ [,
{pop
push
| } ] [ идентификатор,
[,
{on
off
| } ] ], show
,
)
Параметры
name
Определяет имя параметра компилятора, которое требуется изменить. Единственное допустимое имя — forScope
.
show
(Необязательно) Вызывает отображение текущего параметра имени (true или false) с помощью предупреждения во время компиляции. Например, #pragma conform(forScope, show)
.
on
, off
(Необязательно) Имя параметра для включения параметра компилятора /Zc:forScope. on
Значение по умолчанию — off
.
push
(Необязательно) Отправляет текущее значение имени во внутренний стек компилятора. Если указать идентификатор, можно указать on
имя, off
которое нужно отправить в стек. Например, #pragma conform(forScope, push, myname, on)
.
pop
(Необязательно) Задает значение имени в верхней части внутреннего стека компилятора, а затем выводит стек. Если идентификатор указан с pop
помощью, стек будет перебросаться назад, пока не будет найдена запись с идентификатором, которая также будет отображаться; текущее значение имени в следующей записи в стеке становится новым значением для имени. Если указать pop
идентификатор, который не находится в записи в стеке, pop
он игнорируется.
идентификатор
(Необязательно) Может быть включена в команду push
или pop
команду. Если используется идентификатор , on
можно также использовать описатель или off
описатель.
Пример
// pragma_directive_conform.cpp
// compile with: /W1
// C4811 expected
#pragma conform(forScope, show)
#pragma conform(forScope, push, x, on)
#pragma conform(forScope, push, x1, off)
#pragma conform(forScope, push, x2, off)
#pragma conform(forScope, push, x3, off)
#pragma conform(forScope, show)
#pragma conform(forScope, pop, x1)
#pragma conform(forScope, show)
int main() {}