/Zc:hiddenFriend
(Standart C++ gizli arkadaş kurallarını zorunlu tut)
Derleyicinin gizli arkadaş işlevlerinin veya işlev şablonlarının C++ standart işlemesine uygun olduğunu belirtir.
Sözdizimi
/Zc:hiddenFriend
[-
]
Açıklamalar
seçeneği, /Zc:hiddenFriend
seçenek davranışının /permissive-
bir alt kümesini etkinleştirir. Derleyiciye gizli arkadaşlar için standarda uymasını söyler. Derleyici yalnızca, kapsayan sınıf türünün açık örnekleri veya şablon parametreleri için bağımsız değişkene bağımlı aramada (ADL) gizli arkadaşları içerir. Kısıtlama, bir türdeki işlemlerin örtük dönüştürmelere uygulanmasını sağlamak için gizli arkadaşlarınızı kullanmanıza olanak tanır. Bu seçenek, başka türlü kullanamıyor /permissive-
kodda derleme hızını artırabilir.
Gizli arkadaş, yalnızca bir friend
sınıf veya sınıf şablonu tanımı içinde bildirilen bir işlev veya işlev şablonudur. Varsayılan olarak, Microsoft C++ derleyicisi olması gereken her yerde aşırı yükleme çözümleme adayı olarak gizli arkadaş bildirimlerini kaldırmaz. Bu eski davranış, gizli arkadaş işlevlerini daha fazla bağlama olası adaylar olarak ekleyerek derleyiciyi yavaşlatabilir.
Standart C++ gizli arkadaş davranışı altında /permissive-
varsayılan olarak etkindir. Seçenek belirtildiğinde /permissive-
eski gizli arkadaş davranışını belirtmek için kullanın /Zc:hiddenFriend-
. C++20 Modüllerinin kullanılması standart gizli arkadaş davranışı gerektirir.
Bu /Zc:hiddenFriend
seçenek Visual Studio 2019 sürüm 16.4'den itibaren kullanılabilir.
belirttiğinizde /Zc:hiddenFriend
derleyici davranışı örnekleri için bkz . Gizli arkadaş adı arama kuralları.
Bu derleyici seçeneğini Visual Studio geliştirme ortamında ayarlamak için
Projenin Özellik Sayfaları iletişim kutusunu açın. Ayrıntılar için bkz . Visual Studio'da C++ derleyicisi ve derleme özelliklerini ayarlama.
Yapılandırma Özellikleri>C/C++>Komut Satırı özellik sayfasını seçin.
Ek Seçenekler özelliğini veya içerecek
/Zc:hiddenFriend-
/Zc:hiddenFriend
şekilde değiştirin ve ardından Tamam'ı seçin.