Проблема с видимостью typedef в шаблонах.
От: Slowspeed  
Дата: 17.05.12 18:50
Оценка:
Привет!
Мне нужно в методах классов некоторой иерархии иметь псевдонимы для имен классов — класса, в котором определяются методы и его предка.
Стандартный трюк с typedef работал, пока не появился шаблон — наследник шаблона. Вот это не компилируется.

class A
{
public:

typedef A thisclass;
};

template <typename T>
class B: public A
{
public:

typedef thisclass parentclass;
typedef B thisclass;
};

template <typename T>
class C: public B<T>
{
typedef thisclass parentclass;
typedef C thisclass;
};

Похоже, что стандартный
косяк с dependent и не dependent именами в шаблонах, но не могу придумать синтаксиса, чтобы сделать имя dependent.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.