Я пытался решить эту проблему довольно много часов, но я не знаю, как обойти это. У меня есть список значений в контейнере списка, как показано ниже:
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
Я также создал еще один список указателей, которые указывают на каждый 4-й элемент. Поэтому они указывают на следующее:
[0,4,8,12]
У меня есть метод, чтобы вернуть конец списка указателей. Как следующее:
int* end() {return *(pointerlist.end()) ;};
Это дает мне сообщение «Ошибка времени выполнения: утверждение не выполнено, список итераторов не может быть разыменован»
Я понимаю, что получаю эту ошибку, потому что я пытаюсь выйти за пределы списка указателей, но мне бы хотелось, чтобы значение последнего элемента в этом списке имело значение. Я тоже пытался сделать следующее, но это только усугубляет ситуацию.
int* end() {return *(pointerlist.end() - 1) ;};
У кого-нибудь есть идеи, как я могу получить последний элемент в списке указателей?