Шаблон C
ожидает не шаблонный тип, чтобы он мог генерировать класс. Вот почему C<A>
работает: A
не шаблон. Однако C<B>
не работает, поскольку B
- это всего лишь шаблон для самого типа. У вас должен быть какой-то тип для создания экземпляра шаблона B
.
Например, это может сработать:
C<B<A> > x;