Well, in this case I do want a copy, but I'll bare that in mind in future.
Thanks! I was too busy getting confused with the aspects of the language alien to me, I missed a very stupid mistake earlier.
I was calling the function twice from within a for statement (one for a constBegin, the other for a constEnd). It was no wonder it was crashing.
Simply assigning it to use one copy and it all works.
Bookmarks