Вероятно, вам следует использовать POD, а не класс:
struct Vertex { float x; float y; float z; };
Чтобы обойти проблему отсутствия конструкторов, используйте фабрики:
inline Vertex mk_Vertex (float x, float y, float z) {
Vertex a; a.x = x; a.y=y; a.z=z; return a; }
inline Vertex mk_Planar (float x, float y) {
Vertex a; a.x=y; a.y=y; a.z=0.0f; }
Это дает вам несколько именованных конструкторов и оставляет Vertex POD, что означает, что вы также можете использовать инициализаторы в стиле C:
Vertex a = {1.0f, 2.0r, 3.0f };
, что может быть весьма полезно для агрегатов более высокого порядка, таких как массивы, или для отображения изображений на диске и вне диска.