conform
Блок, относящийся только к языку C++
Определяет поведение времени выполнения параметр компилятора /Zc:forScope.
#pragma conform(name [, show ] [, on | off ] [ [, push | pop ] [, identifier ] ] )
Параметры
name
Определяет имя параметра компилятора, которое требуется изменить. Единственное допустимое name — это forScope.show (необязательно)
Вызывает отображение текущей настройки name (true или false) посредством предупреждения во время компиляции. Например, #pragma conform(forScope, show).on, off (необязательно)
Задание для параметра name значения on включает параметр компилятора /Zc:forScope. Значение по умолчанию — off.push (необязательно)
Помещает текущее значение name во внутренний стек компилятора. Если задан параметр identifier, можно задать помещение в стек значения on или off для параметра name. Например, #pragma conform(forScope, push, myname, on).pop (необязательно)
Задает в качестве значения name значение вверху внутреннего стека компилятора, а затем извлекает данные из стека. Если идентификатор определен с помощью параметра pop, стек будет извлекаться до тех пор, пока не будет найдена запись с параметром identifier, который также будет извлечен; текущее значение для name в следующей записи стека становится новым значением для параметра name. Если задать извлечение данных с помощью параметра identifier, который не является записью в стеке, pop игнорируется.идентификатор (необязательно)
Может быть включен с помощью команды push или pop. Если используется identifier, можно также использовать описатель 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() {}