Шаблон должен проверять, подходит ли определенный аргумент шаблона для этого шаблона
Шаблон должен проверять, подходит ли определенный аргумент шаблона для этого шаблона.
Шаблон задает операции класса или функции для типовых типов шаблона. Если эти операции требуют, чтобы типы шаблона имели определенные характеристики, например, тип данных должен быть конструируемой копией, проверять аргументы шаблона, чтобы гарантировать, что они подходят и имеют необходимые характеристики. Как правило, вы используете static_assert
утверждения, чтобы выполнить эту проверку во время компиляции, например, static_assert(std::is_copy_constructible<T>)
.
Polyspace® шаблонные классы флагов и функции, если одно из следующего не верно:
Шаблон содержит по крайней мере один static_assert
утверждение, даже если то утверждение не тестирует характеристики параметров шаблона.
Шаблон явным образом полностью специализирован, даже когда он не содержит static_assert
утверждения.
Polyspace не отмечает объявления шаблона.
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
Группа: шаблоны |
Категория: консультация, неавтоматизированная |