分享方式:


/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-