I don't really ever use structs, so I may be off, but perhaps you can only use the { } syntax to initialize a struct, not change it later? You could always just make a struct instance, populate it with the x, y, and z, and then assign the temporary to the array.
Actually you might want to add a default constructor so you don't have to supply the parameters if you don't want to:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
struct eVertex
{
float X, Y, Z;
// add a default constructor to make initialising optional
eVertex(): X(0.0f),Y(0.0f),Z(0.0f){}
// add a constructor to make initialising easier
eVertex(float x, float y, float z): X(x),Y(y),Z(z){}
};
// now you can do
eVertex e1; // no parameters
eVertex e2(2.4f, 5.9f, 0.7f); // parameters