В настоящее время я работаю над созданием файла заголовка, который действует как стандартная библиотека. Я нахожусь в процессе реализации .end () для моего связанного списка. В моем файле cpp у меня есть целочисленный указатель, который, как ожидается, получит значение .end () как
int* itrend;
itrend = ca.end();
ca
это просто экземпляр моего объекта в моем заголовочном файле.
В моем файле hpp у меня есть итератор списка, идущий к моему listofvalues.end()
. Я хотел бы вернуть значение .end()
как
int* end()
{
std::list<value_type>::iterator i = listOfValues.end();
return (&*i);
}
Мой «Список значений» - это просто список, содержащий несколько целых чисел. например,
[1,2,3,4,5,6,7,8,9]
В моем файле hpp у меня есть итератор списка, идущий к моему listofvalues.end()
. Я хотел бы вернуть значение .end()
(которое возвращает итератор списка); Теперь возникает проблема, связанная с возвращением итератора списка, когда я хочу получить целочисленный указатель. Я попытался почтить его и получить адрес с помощью &*
, и это даст сообщение об ошибке «List Iterator Not Dereferencable». Я знаю, это потому, что я пытаюсь получить элемент после последнего значения, но это именно то, что мне нужно вернуть, так как я пытаюсь повторно реализовать метод связанного списка .end()
.
Кто-нибудь знает, как я могу указать целочисленный указатель на List.end()
?
Любая помощь приветствуется.