Dx12 Vertex Buffer incorrect
Vector has a few different semantics from static arrays. For one it's a struct containing a pointer a capacity and a length (at the very least). That means that sizeof will not reflect how much data is actually stored in there (that only works on static arrays).

If you need to get the size in bytes of the data then you need

const UINT vertexBufferSize = sizeof(vertices::value_type) * vertices.size();