У меня есть класс Helper
:
template <typename T, template <typename> E>
class Helper {
...
};
У меня есть другой шаблон класса, Exposure
, который должен наследоваться от Helper
, передавая себя в качестве параметра шаблона шаблона E
. Мне также нужно специализироваться Exposure
. Поэтому я хочу написать что-то вроде следующего:
template <>
class Exposure<int> : public Helper<int, Exposure> {
Exposure() : Helper<int, Exposure>() {
...
};
...
};
К сожалению, это не скомпилируется. GCC жалуется:
Exposure.h: 170: ошибка: несоответствие типа / значения в аргументе 2 в списке параметров шаблона для «шаблона> класса ExposureHelper»
Exposure.h: 170: ошибка: ожидается постоянная типа ‘’, получена ‘Exposure’
Я что-то не так делаю? Есть ли обходной путь для того, что я пытаюсь сделать?