Как и в контейнерах stl, почему мы не можем получить доступ к typedef внутри класса из экземпляра класса? Есть ли определенное понимание этого?
Когда value_type был параметром шаблона, он мог бы помочь сделать более общий код, если не было необходимости указывать параметры шаблона, как в vector:: value_type
Пример:
class T {
public:
typedef int value_type;
value_type i;
};
T t;
T::value_type i; // ok
t.value_type i; // won't work