Dlaczego Standard zabrania deklaracji przyjacielskich częściowych specjalizacji?

Standard C ++ zabrania deklaracji znajomych częściowych specjalizacji. (§ 14.5.3 / 8):

Deklaracje przyjaciela nie deklarują częściowych specjalizacji. [Przykład:

template<class T> class A { };
class X {
    template <class T> friend class A<T*>;   //error
};

--end przykład]

Inne pytania, np.ten, otrzymałem odpowiedzi, które odwołują się do tego zakazu, ale chciałbym poznać uzasadnienie. Nie widzę go i nie mogę go znaleźć za pomocą mojej ulubionej wyszukiwarki. Mogę jednak stwierdzić, że wraca ono do standardu C ++ 98, więc przypuszczalnie uzasadnienie jest dość proste i jasne. Czy ktoś może mi to wyjaśnić?

questionAnswers(2)

yourAnswerToTheQuestion