4
Dlaczego szablon funkcji nie może być częściowo wyspecjalizowany?
Wiem, że specyfikacja języka zabrania częściowej specjalizacji szablonu funkcji. Chciałbym poznać uzasadnienie, dlaczego tego zabrania? Czy nie są przydatne? template<typename T, typename U> void f() {} //allowed! template<> void f<int, char>() {} //allowed! template<typename T> void f<char, T>() {} //not allowed! template<typename T> void f<T, int>() {} //not allowed!