Итак, у меня есть класс шаблонов со статическим членом, значение которого может быть получено только из одного из параметров шаблона, а не для определения значения для каждого возможного значения второго перечисления параметра, можно использовать еще один шаблон для определения один раз для всех возможных значений?Шаблонные элементы статического шаблона
Или лучше проиллюстрировать код ниже:
enum Foo
{
FOO,
BAR
};
enum Bar {
OOF,
RAB
};
template<Foo foo, Bar bar>
class FooTemplate
{
public:
static const int RESULT;
};
template<Foo foo, Bar bar>
const int FooTemplate<Foo::FOO, bar>::RESULT = int(bar);
template<Foo foo, Bar bar>
const int FooTemplate<Foo::BAR, bar>::RESULT = 0;
Попытка компиляции производит следующие ошибки компиляции:
C2086 'Const ИНТ FooTemplate :: РЕЗУЛЬТАТ': переопределение
C3860 Список шаблонов шаблонов, следующий за именем шаблона класса, должен содержать параметров в порядке, используемом в списке параметров шаблона
Просто те же формальные параметры шаблона, как у вас есть для шаблона класса. –
@ Cheersandhth.-Alf Спасибо, что исправляет одну из ошибок, но оставляет одну и производит другую. Есть идеи? –
Удалить 'const int' со второго? – erip