It's not an error. VertexArray has not been designed as a standard container.
At best you use std::vector<sf::Vertex> directly, since VertexArray is nothing else but a thin wrapper around it.
Otherwise you can still declare begin() and end() for the VertexArray as free functions.