我在第3行遇到了一个问题-“没有匹配函数可调用std :: vector :: push_back(int *)const”-有人可以向我解释此问题的出处以及如何解决?
for(int i = 1; i < 7; i++){
for(vector< vector<int> >::const_iterator it = x.begin(); it < x.end(); it++){
it->push_back(i);
}
}
您正在使用进行迭代const_iterator
。根据定义,您不能修改const_iterator
引用的内容。改用非常量iterator
:
for(vector< vector<int> >::iterator it = x.begin(); it != x.end(); it++){
it->push_back(i);
或者,甚至更好的是,您应该使用现代的C ++ 11或更高版本:
for (auto &x_vector: x)
x_vector.push_back(i);
您难道不认为现代C ++更容易编写和理解吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句