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