Как можно по-разному инициализировать члены статических данных шаблонного класса для определенных параметров?
Я понимаю, что шаблоны отличаются от других классов, и когда-либо создается только то, что используется в проекте. Могу ли я перечислить несколько различных инициализаций для разных параметров и использовать компилятор в зависимости от того, что подходит?
Например, работает ли следующее, и если нет, как правильно это сделать? :
template<class T>
class someClass
{
static T someData;
// other data, functions, etc...
};
template<class T>
T someClass::someData = T.getValue();
template<>
int someClass<int>::someData = 5;
template<>
double someClass<double>::someData = 5.0;
// etc...