共用方式為


pointers_to_members

C + + 特定

指定變數的指標,類別成員可以其相關聯的類別定義之前的形式宣告,而用來控制指標大小,來解譯指標所需的程式碼。

#pragma pointers_to_members( pointer-declaration, [most-general-representation] )

備註

您可以將 pointers_to_members 在另一種使用原始程式檔中的 pragma /vmx 編譯器選項或繼承關鍵字

指標宣告引數會指定是否您宣告變數的指標成員相關聯的函式定義的前後。 指標宣告引數可以是下列兩個符號其中一項:

引數

註解

full_generality

產生安全、 有時 nonoptimal 的程式碼。 您使用 full_generality 如果宣告相關聯的類別定義之前的任何成員的指標。 此引數一律會使用所指定的指標表示大部分一般表示法引數。 與 /vmg 相同。

best_case

產生的所有成員的指標使用最佳的表示法的安全、 最佳化程式碼。 需要類別的成員宣告變數的指標之前定義類別。 預設值是 best_case

大部分一般表示法引數會指定編譯器可以安全地使用來參考任何轉譯單位中的類別成員指標的最小指標表示法。 引數可以是下列其中一項:

引數

註解

single_inheritance

最一般性的表示是單一繼承,成員函式指標。 會產生錯誤,如果指向其成員的指標宣告的類別定義的繼承模型為曾經是其中一個多重或虛擬。

multiple_inheritance

最一般性的表示是多重繼承,成員函式指標。 如果為其成員的指標被宣告的類別定義的繼承模型為虛擬,會產生錯誤。

virtual_inheritance

最一般性的表示是虛擬繼承,成員函式指標。 絕不會造成錯誤。 這是預設的引數時 # pragma pointers_to_members(full_generality) 用。

警告

我們建議您將pointers_to_members pragma,只在您想要影響,原始程式碼檔和任何後才#include指示詞。這種作法減少風險的 pragma,將會影響其他檔案,並會意外指定相同的變數、 函式或類別名稱的多個定義。

範例

//   Specify single-inheritance only
#pragma pointers_to_members( full_generality, single_inheritance )

請參閱

參考

Pragma 指示詞 」 和 「 __Pragma 關鍵字