Seached for this, but can\'t find a similar question. If there is one please close this question. This isn\'t my real code, just an example to demonstrate :-
Capture the size with an additional non-type parameter:
#include <iostream>
template <class T> class Test
{
public:
~Test() { std::cout << "Normal \n";}
};
template<class T, size_t N> class Test<T[N]>
{
public:
~Test() { std::cout << "Array " << N << '\n'; }
};
int main()
{
Test<int[3]> i; // Array 3
Test<int[5]> j; // Array 5
}