This was posted a long time ago but I had a similar issue and not sure of the original poster solved this so maybe this helps someone else. The problem for me was in the output (std::cout) to the terminal. If you leave the vtime settings as default and simply initialise the way you have then all you need to do is change your std::endl; to std::flush;
Flush clears out whatever data is in the pipe whereas endl will simply add a newline/carriage return character. Because Serial is effectively a stream of characters, it means std::endl; is not enough to tell std::cout to put it on screen. To write it we need to std::flush.
(For the record I'm still also learning so if anyone wants to correct my own interpretation of meaning then go right ahead.)