我收到一个奇怪的c ++错误:
main.cpp:81:9: error: request for member ‘push_back’ in ‘points’, which is of non-class type ‘std::vector<std::vector<float> >()’
我正在读这个,就像c ++试图告诉我函数push_back
不是向量类的一部分。这是我的相关代码:
vector<vector<float> > points(); //construct an empy vector of vectors
vector<float> first(3,0); //construct 0 vector in R^3
points.push_back(first); //put (0, 0, 0) in points
非常感谢所有帮助!
答案 0 :(得分:6)
这是MVP(Most Vexing Parse)的案例:
vector<vector<float> > points();
这实际上是一个函数声明,将其更改为:
vector<vector<float> > points;
对于第一个版本,C ++认为你正在声明一个名为points的函数,它不带参数并返回浮点向量的向量。这就是为什么它抱怨它是非类型的原因。