Especialização em modelo parcial para matrizes
Procurou por isso, mas não consegue encontrar uma pergunta semelhante. Se houver um, por favor feche esta questão. Este não é o meu código real, apenas um exemplo para demonstrar:
#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;
}
Quando eu compilo issonão chame a versão especializada para matrizes. Se eu substituir o modelo por
template<class T> class Test<T[3]>
{
public:
~Test() { std::cout << "Array \n"; }
};
Então issofaz chamar a especialização, mas eu quero que isso seja chamado para qualquer matriz, não apenas aqueles de um tamanho especificado. Existe alguma maneira de escrever uma especialização que é usada para todos os arrays?