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