【发布时间】:2010-12-11 05:04:46
【问题描述】:
我正在尝试定义仅包含 typedef 的基类。
template<typename T>
class A
{
public:
typedef std::vector<T> Vec_t;
};
template<typename T>
class B : public A<T>
{
private:
Vec_t v; // fails - Vec_t is not recognized
};
为什么在 B 中收到 Vec_t 无法识别的错误,我需要显式编写?
typename A<T>::Vec_t v;
【问题讨论】:
-
好吧,实际上并不是完全重复,因为您提到的帖子谈论的是一种方法,而这篇谈论的是一种类型。
-
类型名 A::Vec_t v;很好。不需要
那里
标签: c++ templates inheritance typedef name-lookup