Хитрый шаблон
От: Ka3a4oK  
Дата: 15.10.05 17:00
Оценка:
Хочу сделать так:

template<class A, class B>
class C: public A<B>
{
    B m_b;
    ...
};
...
//Определение объекта
    C<MyClass, int> c;


Компилятор ругается. Почему так нельзя, и как обойти ? Я придумал(вернее подсмотрел) только так:


template<class BBB>
class AAA
{
public:
    typedef BBB B;
    ...
};

template<class A>
class C: public A
{
public:
    typename A::B m_b;
    ...
};
...
//Определение объекта
    C<MyClass<int> > c;

Кстати, компилятор от Intel компилирует без выделенного typename, MS компилятор без typename ругается.
... << RSDN@Home 1.1.4 stable rev. 510>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.