/Zc:static_assert
(Ścisła obsługa static_assert)
Opcja /Zc:static_assert
kompilatora informuje kompilator o ocenie static_assert
wywołań przy użyciu niezależnych wyrażeń testowych, gdy klasy lub szablony funkcji są analizowane.
Składnia
/Zc:static_assert
/Zc:static_assert-
Uwagi
Opcja /Zc:static_assert
kompilatora nakazuje kompilatorowi ocenę static_assert
elementu w treści szablonu funkcji lub w treści funkcji składowej szablonu klasy po pierwszym przeanalizowaniu, jeśli wyrażenie testowe nie jest zależne. Jeśli wyrażenie testowe nie false
jest zależne, kompilator natychmiast emituje błąd. Gdy wyrażenie testowe jest zależne, static_assert
nie jest oceniane, dopóki szablon nie zostanie utworzone.
Opcja /Zc:static_assert
jest dostępna od wersji 17.1 programu Visual Studio 2022. We wcześniejszych wersjach programu Visual Studio lub jeśli /Zc:static_assert-
jest określona, program Visual Studio nie wykonuje analizy zależnej, jeśli static_assert
element znajduje się w treści szablonu funkcji lub w treści funkcji składowej szablonu klasy. Zamiast tego ocenia static_assert
tylko wystąpienie szablonu.
Opcja /permissive-
włącza funkcję /Zc:static_assert
, więc jest domyślnie włączona w projektach korzystających z /std:c++20
programu lub /std:c++latest
. Opcja /Zc:static_assert-
musi pochodzić po /std:c++20
opcji , /std:c++latest
lub /permissive-
w wierszu polecenia.
Jeśli kompilator jest w domyślnym trybie C++14 lub /permissive-
/Zc:static_assert
jest określony, używa /Zc:static_assert
zachowania. Jeśli jednak ocenia element static_assert
w treści szablonu, zgłasza również ostrzeżenie off-by-default C5254, "funkcja języka "terse static assert" wymaga flagi kompilatora "/std:c++17
", ponieważ to zachowanie nie jest wymagane do czasu języka C++17.
Aby ustawić tę opcję kompilatora w programie Visual Studio
Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).
Wybierz stronę Właściwości>konfiguracji C/C++>Wiersza polecenia.
Dodaj
/Zc:static_assert
lub/Zc:static_assert-
do okienka Dodatkowe opcje: .