Udostępnij za pośrednictwem


/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 falsejest 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++20opcji , /std:c++latestlub /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

  1. 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).

  2. Wybierz stronę Właściwości>konfiguracji C/C++>Wiersza polecenia.

  3. Dodaj /Zc:static_assert lub /Zc:static_assert- do okienka Dodatkowe opcje: .

Zobacz też

/Zc (Zgodność)