共用方式為


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,則可以指定 onoff 值,以便將 name 推入堆疊上。 例如,#pragma conform(forScope, push, myname, on)。

  • pop (選擇性)
    name 的值設定為內部編譯器堆疊頂端的值,然後再從堆疊中推出。 如果是使用 pop 指定識別項,則會將其推回堆疊中,直到找到具有 identifier 的記錄,此記錄也會從堆疊推出,而堆疊中下一個記錄內的 name 值將會變成 name 的新值。 如果指定要推出的 identifier 並不存在於堆疊上的記錄中,則會忽略 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 關鍵字