У меня есть класс под названием OrderedList в пространстве имен MYLIB. В нем у меня есть вложенный класс, называемый итератором, который будет использоваться как итератор для класса OrderedList.C++: создание экземпляра итератора вложенного класса
Ниже приводится фрагмент моего кода, где я создаю OrderedList и итераторы классов:
template<class T>
class OrderedList
{
private:
ListNode<T>* head;
ListNode<T>* tail;
int total;
public:
OrderedList(T[],int);
~OrderedList();
void insert(const T&);
void sort(int);
void output();
class iterator
{
private:
ListNode<T>* curr;
int current;
OrderedList& order;
public:
iterator(OrderedList& ord, bool is_end)
{
this->order = ord; //problem is here
if(is_end == false)
{...
Отрывок из моей главной функции:
int main()
{
int one[5] = {9,7,5,4,1};
MYLIB::OrderedList<int> odd(one,5);
odd.output();
MYLIB::OrderedList<int>::iterator starter(odd,false);
Когда я компилирую это дает мне следующую ошибку:
OrderedList.cpp: In instantiation of ‘MYLIB::OrderedList<T>::iterator::iterator(MYLIB::OrderedList<T>&, bool) [with T = int]’:
OrderedList.cpp:215:53: required from here
OrderedList.cpp:47:6: error: uninitialized reference member ‘MYLIB::OrderedList<int>::iterator::order’ [-fpermissive]
iterator(OrderedList& ord, bool is_end)
^
Вставьте код (текст), а не изображения. –
Каждый раз, когда выкладывается изображение кода, где-то умирает котенок. Пожалуйста, * Пожалуйста, не делайте этого. – WhozCraig
Lol @WhozCraig. Я считаю, что публикация изображения намного понятнее, чем текст, так как вы также можете ссылаться на номера строк :) –