Возможно ли получить доступ к значениям нетиповых параметров шаблона в специализированном классе шаблона?
Если у меня есть шаблон класса со специализацией:
template <int major, int minor> struct A {
void f() { cout << major << endl; }
}
template <> struct A<4,0> {
void f() { cout << ??? << endl; }
}
Я знаю, что в приведенном выше случае просто жестко кодировать значения 4 и 0 вместо использования переменных, но у меня есть класс, который я специализирую, и я хотел бы иметь возможность доступа к значениям.
Возможно ли в A <4,0> получить доступ к значениям major
и minor
(4 и 0)? Или я должен назначить их при создании шаблона как константы:
template <> struct A<4,0> {
static const int major = 4;
static const int minor = 0;
...
}