错误:A类不是B类C ++的基础

时间:2018-06-24 01:35:37

标签: c++

当我尝试在**行中调用该函数时 通过此功能:

template<class T,int SIZE>
T const& Array<T,SIZE>::const_iterator::operator*() const {
    return this->Array<T,SIZE>::iterator::operator*();
}

它给我以下错误:

error: 'Array<int, 3>::iterator' is not a base of 'const Array<int, 3>::const_iterator'

谁能解释为什么?

 template <class T, int SIZE>
    class Array {
        T data[SIZE];
    public:
        explicit Array();
        Array(const Array& a); //copy constructor
        ~Array(); //destructor
        class iterator  {
            Array<T,SIZE>* array;
            int index;
        public:
            iterator(Array<T,SIZE>* array,int index);
            T& operator*() const; //**
        };
class const_iterator {
        const Array<T,SIZE>* array;
        int index;

    public:
        T const& operator*() const;
};

    }

0 个答案:

没有答案