template <short length>
class c_sha {
};
Chciałbym, żeby można było stworzyć wyłącznie c_sha<256>
lub c_sha<512>
. To zrobie za pomocą specjalizacji. Co jednak zrobić kiedy chce, żeby wszystkie inne argumenty do templata powodowały błąd kompilacji?
template <short length>
class c_sha {
public:
c_sha() { static_assert(length == 256 || length == 512); }
};
to jest dobre rozwiązanie?