I need to solve the following question: "Delete Middle Node: Implement an algorithm to delete a node in the middle (Le., any node but
the first and last node, not necessarily the exact middle) of a singly linked list, given only access to
that node.
EXAMPLE
Input: the node c from the linked list a - >b- >c - >d - >e- >f
Result: nothing is returned, but the new linked list looks like a->b->d->e->f".

Now, that is the solution im trying to implement:
"In this problem, you are not given access to the head of the linked list. You only have access to that node.
The solution is simply to copy the data from the next node over to the current node, and then to delete the
next node."

How can I write that in c++, having only iterators and no next() method? I need to do only one operation on a single node, with no need to iterate over the whole list, so I must be missing something... Do c++'s iterators let me solve it this way?