/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 開發環境中設定這個編譯器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
選取 [組態屬性]>[C/C++]>[命令列] 屬性頁。
修改 [其他選項] 屬性以包含
/Zc:hiddenFriend
或/Zc:hiddenFriend-
,然後選擇 [確定]。