共用方式為


/Zc:hiddenFriend (強制執行標準C++隱藏的朋友規則)

指定編譯程式符合隱藏friend函式或函式範本C++標準處理。

語法

/Zc:hiddenFriend[-]

備註

選項 /Zc:hiddenFriend 會啟用選項行為的子集 /permissive- 。 它會告訴編譯程式符合隱藏朋友的標準。 編譯程式只會在自變數相依查閱 (ADL) 中包含隱藏的朋友,以取得封入類別類型的明確實例或範本參數。 限制可讓您使用隱藏的朋友,讓類型上的作業無法套用至隱含轉換。 此選項可以改善程式代碼中無法使用 /permissive-的建置速度。

隱藏的朋友friend只在類別或類別範本定義內宣告的函式或函式範本。 根據預設,Microsoft C++編譯程式不會將隱藏的friend宣告移除為隨處應多載解析的候選專案。 此舊版行為可將隱藏的朋友函式納入更多內容中,讓編譯程式變慢。

預設會在 底下 /permissive-啟用標準C++隱藏的朋友行為。 若指定指定選項時 /permissive- 指定舊版隱藏的朋友行為, 請使用 /Zc:hiddenFriend-。 使用 C++20 模組需要標準隱藏的朋友行為。

此選項 /Zc:hiddenFriend 可從 Visual Studio 2019 16.4 版開始使用。

如需當您指定 /Zc:hiddenFriend時編譯程序行為的範例,請參閱 隱藏的朋友名稱查閱規則

在 Visual Studio 開發環境中設定這個編譯器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性

  2. 選取 [組態屬性]>[C/C++]>[命令列] 屬性頁。

  3. 修改 [其他選項] 屬性以包含 /Zc:hiddenFriend/Zc:hiddenFriend- ,然後選擇 [確定]。

另請參閱

/Zc (一致性)
/permissive-