嵌套类不会查看基类中的成员

时间:2017-12-10 14:18:22

标签: c++ templates inheritance

我有一个模板类,其中有两个嵌套类,一个派生自另一个:

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没有看到基类的成员。

0 个答案:

没有答案