template <typename T> class Blob {
public:
typedef T value_type;
typedef typename std::vector<T>::size_type size_type;
//我搞不懂这里的typename是干嘛的,怎么看都像是多余的,请解释
// constructors
Blob();
。。。
};
template <typename T> class Blob {
public:
typedef T value_type;
typedef typename std::vector<T>::size_type size_type;
//我搞不懂这里的typename是干嘛的,怎么看都像是多余的,请解释
// constructors
Blob();
。。。
};
3 回答1.1k 阅读✓ 已解决
1 回答995 阅读✓ 已解决
4 回答785 阅读
1 回答862 阅读
1 回答893 阅读
1 回答662 阅读
1 回答768 阅读
如果没有typename关键字, 编译器分不清
size_type
是std::vector<T>
的成员还是其他东西. 比如std::vector<T>
如果有一个size_type的静态成员.