>> however this appears to be the problem because once I filter out the rest of while loop(the pushback() and the *it++; ) it still crashes on me <<

Which line is line 309? I still haven't seen the answer to that.

>> *it++;
Please change *it++; to (*it)++. It's not correct the other way.

Now, perhaps use your debugger. Put a breakpoint at the start of the loop and see how far it goes before getting the error (using F10 to step over each line of code one at a time). Does it happen the first time through or does it happen after a couple runs of the loop? Which line exactly does it happen on?