reinterpret_cast
is almost never the right solution, unless you know exactly what you’re doing, and even then usually not.
In your case, you just want a pointer to the contiguous data storage inside the vector (but not the vector itself, as you’ve noticed! That stores other data as well, such as the size & capacity). That’s easy enough, it’s the pointer of the first element of the data:
&vector[0]
So your code would look as follows:
myFunction(&(*data)[0], data->size());