Здравствуйте, rus-k, Вы писали:
R>>На вопрос "почему" ответил remark. А исправить легко — для передачи типа X базовому классу просто добавь в его шаблон еще один параметр-тип:
RK>Не канает. У тебя в шаблон фактически передается int, а не X. в А если X — это не int, а структура? У меня 1 класс Base, а классов A — куча и в каждом есть структура X, только у нее разное наполнение.
Тебе придётся вынести структуры Х из классов А, и передавать вместо int их.
Иначе ты просишь абсолютно невозможного. Вот ещё один хороший пример, помимо того, который я привёл в соседней ветке:
template<typename derived_t>
struct base
{
derived_t m;
};
struct derived : base<derived>
{
};
Нету никакого теоретического способа как циклическая зависимость между определениями классов может работать.