Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
/Zc:templateScope Derleyici seçeneği, şablon parametrelerinin gölgelenmesiyle ilgili Standart C++ davranışı denetimlerini etkinleştirir.
Sözdizimi
/Zc:templateScope[-]
Açıklamalar
C++ Standardı, şablon kapsamındaki başka bir bildirim için şablon parametresinin adının (veya gölgelendirmesinin) yeniden kullanılmasına izin vermez. Derleyici seçeneği, /Zc:templateScope bu tür gölgelendirme için bir hata denetimi etkinleştirir.
Bu /Zc:templateScope seçenek Visual Studio 2022 sürüm 17.5 önizleme 1'de yenidir. Seçenek, kod seçeneği kullanılarak /permissive- derlendiğinde (veya veya gibi ) anlamına gelen /permissive-bir seçenek kullanılarak derlendiğinde bile varsayılan olarak /std:c++20 /std:c++latestkapalıdır. Hata denetimini etkinleştirmek için derleyici komut satırına açıkça eklemeniz /Zc:templateScope gerekir. Denetimi açıkça devre dışı bırakmak için seçeneğini kullanın /Zc:templateScope- .
Örnek
altında /Zc:templateScope, bu örnek kod bir hata oluşturur:
template<typename T>
void f(T&& t) {
int T = 13;
}
/* Output:
t.cpp(3): error C7527: 'T': a template parameter name cannot be reused within its scope
*/
Visual Studio'da bu derleyici seçeneğini 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'de veya
/Zc:templateScope-ekleyin/Zc:templateScope. Değişikliklerinizi kaydetmek için Tamam'ı veya Uygula'yı seçin.
Ayrıca bkz.
/Zc (Uyumluluk)
/permissive-
/std (Dil standart sürümünü belirtin)