Имеем такое дело:
struct HasseRange{
QVector<unsigned int> mark;
QVector<QList <QChar> > vlist;
};
...
struct HasseRange hr;
QList<QChar> QL_QC_TMP;
QList<QChar>::const_iterator it = Vr.constBegin();
for(;it!=Vr.constEnd();++it){
hr.mark.append(0);
QL_QC_TMP.clear();
QL_QC_TMP.append(*it);
hr.vlist.append(QL_QC_TMP);
//hr.vlist.append(*it);
}
и теперь внимание:
hr.vlist.at(1).append(QChar('a'));
Такая штука при попытке скомпилить дает следующее сообщение:
H:/bsd/graph/makehasse.cpp:28: error: passing `const QList<QChar>' as `this' argument of `void QList<T>::append(const T&) [with T = QChar]' discards qualifiers
Designer в качестве аргумента аппенд предлагает и QChar и QList<QChar> все одно, результат один и тот же. Что тут за this такой вообще не понятно. Пробовал обойти все, заменить на QList<QString>, получил то же самое. Где я наглупил, скажите пожалуйста.
p.s.
НО если тот же append сделать через итератор, то все просто прекрасно работает!