【发布时间】:2015-01-13 15:47:58
【问题描述】:
我正在尝试在另一个 QList 中插入一个 QList,但出现以下错误:
parser.y:40: error: no matching function for call to 'QList<QList<QString> >::insert(QList<QList<QString> >&)'
尝试将名为 partialFormula 的 QList 推入另一个名为 formula 的 QList:
formula.push_back(partialFormula);
我认为我的错误出现在我的 QList 模板的定义中,因为公式 QList 的预期值是 QString 的 QList,但我试图插入 @987654330 的 QList @QString。
QList<QList<QString> > formula;
QList<QList<QString> > partialFormula;
formula.push_back(partialFormula); //error.
另外,我想在 partialFormula 中插入另一个 QList >,等等...,我必须创建 class 还是 struct?
我该怎么做?
我的代码:
#include <QList>
#include <QString>
int main () {
QList<QList<QString> > formula;
QList<QList<QString> > partialFormula;
QList<QString> atomicCondition;
//It works!
partialFormula.push_back(atomicCondition);
//It does not work.
formula.push_back(partialFormula);
return 0;
}
谢谢!
【问题讨论】:
-
嗯,但您的
formula列表需要QList<QString>作为元素,但您插入QList<QList<QString> >代替。我认为这个错误是合理的。
标签: c++ qt data-structures qlist