Mam problem z szablonami szablonów i odliczaniem parametrów. Oto kod:Funkcje szablonów i odliczanie parametrów
template<typename U, template<typename> class T>
void test(T<U>&& t)
{
...
}
Spodziewałem się, że zaakceptuje ona zarówno wartości l, jak i wartości r, ale działa tylko z wartościami r. Zasada zwijania "T & & & = T &" nie ma zastosowania w tym przypadku?
Oczywiście mógłbym zadeklarować także funkcję odniesienia lwartości, ale czyni ją mniej czytelną.
Jeśli pytasz, dlaczego potrzebuję tego, to użyj static_sersert, aby sprawdzić, czy T jest konkretną klasą. Jeśli jest to prostszy sposób, z chęcią zmienię swój kod, ale chciałbym się dowiedzieć, czy szablony szablonów mogą być używane w ten sposób.
Dzięki