Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 如何将元素附加到结构中的QList?_Qt_Struct_Append_Qlist - Fatal编程技术网

Qt 如何将元素附加到结构中的QList?

Qt 如何将元素附加到结构中的QList?,qt,struct,append,qlist,Qt,Struct,Append,Qlist,我有一个这样的结构: struct Nom { QString Nom; .... QList<quint64> indNum; } 它起作用了。 当我写到: n->at(j).indNum.append(i->size()-1); 我有一个编译错误: 对“追加”的调用没有匹配的成员函数 候选函数不可行:“此”参数的类型为“const” QList',但未标记方法 const void append(const T&T)

我有一个这样的结构:

struct Nom {  
    QString Nom;  
    ....  
    QList<quint64> indNum;  
}  
它起作用了。
当我写到:

n->at(j).indNum.append(i->size()-1);  
我有一个编译错误:

对“追加”的调用没有匹配的成员函数
候选函数不可行:“此”参数的类型为“const” QList',但未标记方法 const void append(const T&T)

我不明白为什么它在第一种情况和第二种情况下有效。 谁能解释一下,帮我解决这个问题?
提前感谢。

QVector::at
返回对
Nom
值的常量引用,因此您无法修改
n->at(j)
返回的项目。要获取非常量引用,可以使用
(*n)[j]


n->back()
之所以有效,是因为对于
QVector::back
而言,存在常量和非常量重载。

谢谢您的回答。当我将'n->at(j)'替换为'n[j]'时,我得到另一个编译:erreur:QVector'n[j]中没有名为'indNum'的成员。indNum.append(I->size()-1);~~~~^的确我现在没有任何编译错误。谢谢。
n->back().indNum.append(i->size()-1);  
n->at(j).indNum.append(i->size()-1);