Шаблон-предок получает класс потомка
Добавлено: 22 дек 2007, 15:44
Вопрос по конструкции типа:
Может, есть у кого-нибудь опыт практического использования таких конструкций?
Дело в том, что у меня это не компилируется, с жалобой "Cannot generate template specialization from Base<Der>"
Вроде бы должна работать, но что не так?
Например, вот так работает:
Но нужно, чтоб непременно класс-наследник был также шаблоном (поскольку это класс-контейнер элементов неизвестного наперёд типа).
Код: Выделить всё
template <class Der>
class Base{
// объект хранит операции над данными наследников, класс которых передаётся переменной <Der>
};
// описываю один из шаблонов наследников класса Base:
template <class C>
class Derived: public Base<Derived>{
// ...
};
Дело в том, что у меня это не компилируется, с жалобой "Cannot generate template specialization from Base<Der>"
Вроде бы должна работать, но что не так?
Например, вот так работает:
Код: Выделить всё
template <class Der>
class Base{
// объект хранит операции над данными наследников, класс которых передаётся переменной <Der>
};
// описываю один из наследников класса Base:
class Derived: public Base<Derived>{
// ...
};