Как передать ссылку на шаблон в метод класса? - PullRequest
0 голосов
/ 29 сентября 2019

Я работаю над этой проблемой в течение нескольких дней и не могу найти решение своей проблемы в Интернете.Задача, с которой я столкнулся, заключалась в создании метода вставки и стирания для векторного класса.Заголовки метода были даны мне как iterator insert(iterator pos, const Object& x); и iterator erase(iterator pos);.Когда я делал векторный класс, все компилировалось без ошибок, кроме того, что никогда не использовался.код выглядит следующим образом.

template<typename iterator, typename Object> class Vector
{
public:
    iterator insert(iterator pos, const Object& x)
    {
        element[pos] = x;
    }
    iterator erase(iterator pos)
    {
        element[pos] = '\0';
    }
private:
    iterator pos;
    Object element;
};

Основная функция выглядит следующим образом:

int main()
{
    Vector<int, class Object> myVec;
    int i = 9;
    myVec.insert(0,i);
}

После того, как я закончил, единственная ошибка возникает в строке Object element.С сообщением об ошибке «Поле имеет неполный тип« Объект »».Я прошу прощения, если это очень просто исправить, но я новичок в итераторах и векторах, поэтому создавать собственные методы непонятно.Спасибо за помощь, спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...