我有一个模板类,其中有两个嵌套类,一个派生自另一个:
template <typename T>
class SuperList
{
public:
using List = typename std::list<T>;
struct BaseIterator
{
explicit BaseIterator(typename List::iterator iterator):
iterator_(iterator) {}
typename List::iterator iterator_;
};
struct DerivedIterator : public BaseIterator
{
explicit DerivedIterator(typename List::iterator iterator):
BaseIterator(iterator) {}
void test() {iterator_;};
};
};
它无法编译:
error: 'iterator_' was not declared in this scope void test() {iterator_;};
我不明白为什么DerivedIterator
没有看到基类的成员。