我创建了一个方法,它通过引用接受参数,如下所示:
void Func1(QList<int> *a){
(*a) << getDataFromAnotherFunction();
//or
(*a).append(getDataFromAnotherFunction());
}
QList<int> getDataFromAnotherFunction(){
//we will do something good over here
return QList<int>
}
但问题是,当我想使用a的数据时,其中没有数据。 它说0; 我想要计算其中的元素如下:
//for passing a to func1 I use something like that
//QList a;
//func(&a);
//after retruning from func1 now I want to use the result like below :
a.size();
//but the answer is 0
我应该如何传递参数以获取正确的数据?
问候。
答案 0 :(得分:0)
您可能希望执行以下操作:
void Func1(QList<int> &a){ // this is pass-by-reference
a << getDataFromAnotherFunction();
}
然后像这样使用它:
QList <int> my_qlist;
Func1(my_qlist);
请注意,您必须重载&lt;&lt;运营商。根据您的编写,您当前的行为取决于getDataFromAnotherFunction中返回空QList的事实。