typedef typename

所以根据上述两条分析,

 typedef typename RefBase::weakref_type weakref_type;

语句的真是面目是:
typedef创建了存在类型的别名,而typename告诉编译器RefBase::weakref_type是一个类型而不是一个成员。

原文地址:https://www.cnblogs.com/zhougong/p/8900238.html