我正在按照OpenGL超级圣经第5版的内容学习,它将一个向量(数学中的向量)定义为
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)这个调用上,因为当我将其注释掉时,就不会出现错误。有人能向我解释并帮助我弄清楚为什么它不允许我将这个向量添加到我的向量中吗?