This is the SFML forum, not a specifically C++ forum. However, SFML is based in C++ and has multiple language bindings.
I think the point about C and C++ was that you shouldn't be using
goto in C++. In your code, it code easily be replaced by a
do...while loop.
Your vector has 200 element - all default constructed. When you push to the vector, you're adding another so it'll be 201 after the first one. The first 200 are unused...
What you want to do is slightly ambiguous. If you want to move that piece, move the actual vector element directly, not the original 'template' (head) from which it is copied. If you want to add another piece, push another to the vector. Remember, as FRex said, the vector element is a copy of "head" so changing head does not change the vector.
Your timing is a bit loose. You treat any frame size of 100ms or greater (including 105ms and even 10 second, for example) as the same amount of time passing.
Just for our own nosiness, could you confirm your intention with this condition:
(spawnx%static_cast<int>(tamanho)!=0)