Sdílet prostřednictvím


/Zc:static_assert (Striktní zpracování static_assert)

Možnost /Zc:static_assert kompilátoru říká kompilátoru, aby při analýze tříd nebo šablon funkcí vyhodnocoval static_assert volání pomocí nezávislosti na testovacích výrazech.

Syntaxe

/Zc:static_assert
/Zc:static_assert-

Poznámky

Možnost /Zc:static_assert kompilátoru říká kompilátoru, aby při první analýze vyhodnotil static_assert v těle šablony funkce nebo v těle členské funkce šablony třídy, pokud testovací výraz není závislý. Pokud není závislý testovací výraz false, kompilátor okamžitě vygeneruje chybu. Pokud je testovací výraz závislý, nevyhodnocuje se, static_assert dokud se nevyhodnotí instance šablony.

Tato /Zc:static_assert možnost je dostupná od sady Visual Studio 2022 verze 17.1. V dřívějších verzích sady Visual Studio nebo pokud /Zc:static_assert- je zadána, Visual Studio neprovádí závislé analýzy, pokud static_assert je v těle šablony funkce nebo v těle členské funkce šablony třídy. Místo toho vyhodnotí static_assert pouze instanci šablony.

Tato /permissive- možnost povolí /Zc:static_assert, takže je ve výchozím nastavení zapnutá v projektech, které používají /std:c++20 nebo /std:c++latest. Tato /Zc:static_assert- možnost musí pocházet za parametrem , /std:c++latestnebo /permissive- na příkazovém /std:c++20řádku.

Pokud je kompilátor ve výchozím režimu C++14 nebo /permissive- /Zc:static_assert je zadaný, použije /Zc:static_assert chování. Pokud ale vyhodnocuje static_assert v těle šablony, hlásí také upozornění C5254 mimo výchozí nastavení, "funkce jazyka terse static assert" vyžaduje příznak kompilátoru "/std:c++17", protože toto chování není nutné, dokud C++17.

Nastavení této možnosti kompilátoru v sadě Visual Studio

  1. Otevřete dialogové okno Stránky vlastností projektu. Podrobnosti najdete v tématu Nastavení kompilátoru C++ a vlastností sestavení v sadě Visual Studio.

  2. Vyberte stránku vlastností příkazového řádku C/C++>Vlastnosti>konfigurace.

  3. Přidejte /Zc:static_assert nebo /Zc:static_assert- do podokna Další možnosti:

Viz také

/Zc (Shoda)