conform
pragma
特定C++
指定編譯程式選項的 /Zc:forScope
運行時間行為。
語法
#pragma conform(
name [ ] [,
, show
{ } ] [ [,
{push
|pop
|off
on
} ] [,
identifier [,
{on
|off
} ] ] ])
參數
name
指定要修改的編譯器選項名稱。 唯一有效的 名稱 是 forScope
。
show
(選擇性)在編譯期間,會透過警告訊息顯示目前的名稱設定(true 或 false)。 例如: #pragma conform(forScope, show)
。
on
, off
(選擇性)將名稱設定為 on
啟用 /Zc:forScope 編譯程序選項。 預設值為 off
。
push
(選擇性)將名稱的目前值推送至內部編譯程式堆疊。 如果您指定識別碼,您可以指定要on
推送至堆疊的名稱或值。off
例如: #pragma conform(forScope, push, myname, on)
。
pop
(選擇性)將名稱的值設定為內部編譯程式堆疊頂端的值,然後彈出堆疊。 如果使用 指定pop
標識碼,則會快顯堆疊,直到找到具有標識符的記錄為止;堆棧上下一筆記錄中名稱的目前值會變成名稱的新值。 如果您使用不在堆疊上記錄中的識別碼來指定 pop
,pop
則會忽略 。
識別碼
(選擇性)可以包含在或 pop
命令中push
。 如果使用 標識碼 , 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() {}