Хочу сделать так:
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>>