Specjalizacja częściowego szablonu dla tablic
Osiągnięto to, ale nie mogę znaleźć podobnego pytania. Jeśli taki istnieje, zamknij to pytanie. To nie jest mój prawdziwy kod, tylko przykład do zademonstrowania: -
#include <iostream>
// Normal template class with a destructor
template <class T> class Test
{
public:
~Test() { std::cout << "Normal \n";}
};
// Partial specialization for arrays
template<class T> class Test<T[]>
{
public:
~Test() { std::cout << "Array \n"; }
};
int main()
{
Test<int[3]> i;
}
Kiedy to skompilujęnie zadzwoń do specjalistycznej wersji na tablice. Jeśli zastąpię szablon
template<class T> class Test<T[3]>
{
public:
~Test() { std::cout << "Array \n"; }
};
Potem torobi wywołaj specjalizację, ale chcę, aby była ona wywoływana dla dowolnej tablicy, a nie tylko dla określonej wielkości. Czy jest jakiś sposób na napisanie specjalizacji, która jest używana dla wszystkich tablic?