Я следую вместе с 5-й версией OpenGL Super Bible, и они определяют вектор (вектор как в математике) как
typedef float M3DVector3f[3];
Я пытаюсь добавить экземпляр этого в std :: vector ('массив большого размера' в c ++), однако я получаю сообщение об ошибке:
array initialization needs curly braces
Полная ошибка
То, как я определил std :: vector, и то, как я к нему добавляю:
std::vector<M3DVector3f> vertices;
float vertex[3];
sscanf_s(line.c_str(), "%*s %f %f %f", &vertex[0], &vertex[1], &vertex[2]);
M3DVector3f v = {vertex[0], vertex[1], vertex[3]};
vertices.push_back(v);
Я понял, что проблема в вызове vertices.push_back (v), потому что я не получаю сообщение об ошибке, когда закомментирую это. Может ли кто-нибудь объяснить мне и помочь мне понять, почему он не позволяет мне добавить этот вектор в мой вектор?