Un modo potrebbe essere questo, che genera un errore di compilazione se la dimensione è eccessiva:
codice:
template <typename T, std::size_t Size>
class Vettore
{
	T Array[ ( Size < 0xFFFF) ? Size : -1 ];
};
Il valore di comparazione puoi adattarlo alle tue esigenze (anche passarlo come parametro al template volendo).

codice:
template <typename T, std::size_t Size, std::size_t MAX_SIZE=0xFFFF>
class Vettore
{
	T Array[ ( Size < MAX_SIZE) ? Size : -1 ];
};