Standard C++ zakazuje znajomości deklaracji specjalizacyjnych częściowych. (§14.5.3/8):Dlaczego Standard zabrania przyjacielskich deklaracji specjalizacyjnych częściowych?
Oświadczenia o przyjacielu nie będą deklarowały specjalizacji częściowych. [Przykład:
template<class T> class A { };
class X {
template <class T> friend class A<T*>; //error
};
--end przykład]
pytania, na przykład this one, otrzymałem odpowiedzi, które wywołują ten zakaz, ale chciałbym poznać uzasadnienie . Nie widzę go i nie mogę go znaleźć w mojej ulubionej wyszukiwarce. I może się jednak zdarzyć, że od razu powróci do standardu C++ 98, więc prawdopodobnie jest to bardzo proste i oczywiste uzasadnienie. Czy ktoś może mi to wytłumaczyć?
Jak to "nie jest konstruktywne"? –
@LuchianGrigore: szorstkie przypuszczenie: to rodzaj pyta o możliwe opinie – PlasmaHH
@PlasmaHH, chyba że otrzyma odpowiedź od kogoś, kto rzeczywiście zna przyczynę (jak większość pytań) :) –