Специализация шаблона должна быть объявлена в том же файле (1), что и основной шаблон (2), как определяемый пользователем тип, для которого заявлена специализация
Специализация шаблона должна быть объявлена в том же файле (1), что и основной шаблон (2), как определяемый пользователем тип, для которого заявлена специализация.
Наблюдение за этим правилом избегает ситуаций, когда поведение не определено. Например, если компилятор видит частичную специализацию шаблона после создания экземпляра шаблона, поведение не определено. Если вы специализируете шаблон в том же файле, что и шаблон, такая ситуация будет происходить реже.
Вы также можете легко расширить интерфейсы во время компиляции посредством специализации, так как шаблон и его специализация находятся в одном файле и части одного модуля перевода. Те же аргументы применяются к требованию о том, что специализация шаблона должна находиться в том же файле, что и тип, для которого шаблон является специализированным.
Чекер проверяет каждую специализацию шаблона и вызывает нарушение, если:
Специализация находится не в том же файле, что и специализированный шаблон.
Специализация находится не в том же файле, что и определяемый пользователем тип, для которого предназначен шаблон.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Шаблоны |
Категория: Необходимый, Автоматизированный |