Привет!
Мне нужно в методах классов некоторой иерархии иметь псевдонимы для имен классов — класса, в котором определяются методы и его предка.
Стандартный трюк с 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.