Inicializando el vector struct con la lista de inicializadores entre llaves

Inicializo vectores de tipo normal como este:

vector<float> data = {0.0f, 0.0f};

Pero cuando uso estructura en lugar de tipo normal

struct Vertex
{
    float position[3];
    float color[4];
};
vector<Vertex> data = {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f, 0.0f}};

Me da errorcould not convert '{{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f, 0.0f}}' from '<brace-enclosed initializer list>' to 'std::vector<Vertex>'. ¿Qué pasa con esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta