派生类中的受保护变量

时间:2015-05-21 21:24:17

标签: c++

在我的项目中,我有一些像这样的结构:

template <typename T>
class deque
{
// ...
    class MyIterator
    {
    protected:
        T* p;

    public: 
        MyIterator(T* x)
        : p(x)
        {
        }
    };

    class Iterator: public MyIterator
    {
    public: 
        Iterator(T* x)
        : MyIterator(x)
        {
        }

        T* foo() { return p; }
    };
};

我一直收到错误

`In member function 'foo' error: ‘p’ was not declared in this scope
         return p`

我尝试将pprotected更改为public,但这没有用。我做错了什么?

0 个答案:

没有答案