template <typename T> class Blob{
public:
typedef typename std::vector<T>::size_type size_type;
为什么中间有个typename,而不是直接写成这样:
typedef std::vector<T>::size_type size_type;
谢谢啦。
template <typename T> class Blob{
public:
typedef typename std::vector<T>::size_type size_type;
为什么中间有个typename,而不是直接写成这样:
typedef std::vector<T>::size_type size_type;
谢谢啦。
这个是在模板定义中,在你的代码中std::vector::size_type 这个是一个类型,而不是一个变量,所以需要告诉编译器,它是一个类型,而不是变量
所以需要加typename来进行修饰,告诉编译器,不然编译器就会有出错。