conform pragma

C++ 专用

指定 /Zc:forScope 编译器选项的运行时行为。

语法

#pragma conform(name [ , show ] [ , { on | off } ] [ [ , { push | pop } ] [ ,identifier [ , { on | off } ] ] ] )

参数

name
指定要修改的编译器选项的名称。 唯一有效的 nameforScope

show
(可选)导致 name 的当前设置(true 或 false)在编译期间以警告消息的方式显示。 例如 #pragma conform(forScope, show)

onoff
(可选)将 name 设置为 on 将启用 /Zc:forScope 编译器选项。 默认值为 off

push
(可选)将 name 的当前值推送到内部编译器堆栈。 如果指定 identifier,则可为要推送到堆栈的 name 指定 onoff 值。 例如 #pragma conform(forScope, push, myname, on)

pop
(可选)将 name 的值设置为位于内部编译器堆栈顶部的值,然后弹出堆栈。 如果使用 pop 指定 identifier,则堆栈将弹回,直到它找到具有 identifier 的记录(也会弹出);堆栈上的下一记录中的 name 的当前值将变为 name 的新值。 如果使用不在堆栈上的记录中的 identifier 指定 pop,则将忽略 pop

identifier
(可选)可以包含在命令 pushpop 中。 如果使用了 identifier,则还可以使用 onoff 说明符。

示例

// 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() {}

另请参阅

Pragma 指令以及 __pragma_Pragma 关键字