Почему gcc выдаёт ошибку?
[Error] specialization of 'template class A' must appear at namespace scope
template
Ответ
В С++ нет возможности использования частичной специализации для того, чтобы "очертить" только какое-то подмножество специализаций шаблона в качестве друзей.
14.5.4 Friends
8 Friend declarations shall not declare partial specializations. [ Example:
template
—end example ]
То есть другом может быть либо шаблон (со всеми его специализациями), либо конкретная специализация (т.е полная специализация) шаблона.
Комментариев нет:
Отправить комментарий