Aracılığıyla paylaş


/Zc:static_assert (Katı static_assert işleme)

Derleyici seçeneği, /Zc:static_assert sınıf veya işlev şablonları ayrıştırıldığında derleyiciye bağımlı olmayan test ifadeleriyle çağrıları değerlendirmesini static_assert söyler.

Sözdizimi

/Zc:static_assert
/Zc:static_assert-

Açıklamalar

Derleyici /Zc:static_assert seçeneği, test ifadesi bağımlı değilse derleyiciye bir işlev şablonunun gövdesinde veya ilk ayrıştırıldığında sınıf şablonu üye işlevinin gövdesinde bir değerlendirmesini static_assert söyler. Bağımlı olmayan test ifadesi değilse false, derleyici hemen bir hata yayar. Test ifadesi bağımlı olduğunda, static_assert şablon örneği başlatılana kadar değeri değerlendirilmez.

Bu /Zc:static_assert seçenek Visual Studio 2022 sürüm 17.1'den itibaren kullanılabilir. Visual Studio'nun önceki sürümlerinde veya belirtilirse /Zc:static_assert- , bir işlev şablonunun gövdesinde veya bir sınıf şablonunun üye işlevinin gövdesindeyse static_assert , Visual Studio bağımlı çözümleme yapmaz. Bunun yerine, yalnızca bir şablonun static_assert örneği oluşturulurken değerini değerlendirir.

/permissive- seçeneği, veya /std:c++latestkullanan /std:c++20 projelerde varsayılan olarak açık olması için seçeneğini etkinleştirir/Zc:static_assert. seçeneği /Zc:static_assert- , komut satırında bir /std:c++20, /std:c++latestveya /permissive- seçeneğinin ardından gelmelidir.

Derleyici varsayılan C++14 modundaysa ve /permissive- veya /Zc:static_assert belirtilmişse, davranışı kullanır /Zc:static_assert . Ancak, şablon gövdesindeki bir static_assert değerini değerlendirirse, varsayılan olarak "'terse statik onay' dil özelliği '/std:c++17 derleyici bayrağı gerektirir' uyarısını da bildirir, çünkü bu davranış C++17'ye kadar gerekli değildir.

Visual Studio'da bu derleyici seçeneğini ayarlamak için

  1. Projenin Özellik Sayfaları iletişim kutusunu açın. Ayrıntılar için bkz . Visual Studio'da C++ derleyicisi ve derleme özelliklerini ayarlama.

  2. Yapılandırma Özellikleri>C/C++>Komut Satırı özellik sayfasını seçin.

  3. Ek seçenekler: bölmesine veya /Zc:static_assert- ekleyin/Zc:static_assert.

Ayrıca bkz.

/Zc (Uyumluluk)