Директива # ошибка не должна использоваться
Директива # ошибка не должна использоваться.
Обычно вы используете #error
директива путем объединения ее с #if
или аналогичную директиву, чтобы сделать компиляцию неудачной и выдать сообщение, когда условие не выполнено. Однако применить нельзя #error
в шаблоны. Директивы препроцессора не подчиняются редактированию, проверке типа, перегрузке и другим функциям C++ и #error
не будет считаться вычетом из шаблона по экземплярам.
Вместо этого используйте static_assert
для проверки ошибок во время компиляции. Статические утверждения обеспечивают все преимущества функций C++ и делают код более ясным.
Polyspace® флаги всех видов использования #error
директива.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Директивы предварительной обработки |
Категория: Необходимый, Автоматизированный |