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