You get the elapsed time once, so when the loop starts both the limit and elapsed time have been set and all you do is compare two fixed values. On top of that you call getElapsedTime before the loop, so whatever time has past since the creation of the clock object and that call, will be returned.
What you want to do is call restart() before the loop and then simply check against getElapsedTime() during the iteration, the elapsed sf::Time object is not necessarily needed.
Also please make use of the [code=cpp][/code] tags.