我在QT下面的变量:QVector <QVector int>>修改 “内部” 矢量
QVector<QVector <int> > buff_d1;
和我需要修改 “内部” 载体:
buff_d1.at(i).removeFirst();
buff_d1.at(i).push_back(d1.at(i).at(sample_number));
这导致错误:
passing 'const QVector<int>' as 'this' argument of 'void QVector<T>::removeFirst() [with T = int]' discards qualifiers [-fpermissive] buff_d2.at(i).removeFirst();
passing 'const QVector<int>' as 'this' argument of 'void QVector<T>::push_back(const T&) [with T = int]' discards qualifiers [-fpermissive] buff_d1.at(i).push_back(d1.at(i).at(sample_number));
我明白“内部”向量是常量,所以我不能修改它,但围绕它的工作是什么?
或[value(int at)](http://qt-project.org/doc/qt-5/qvector.html#value)。 'at'方法用于防止创建深层副本(例如,在遍历向量时)。 – 2014-10-29 13:13:16