本文将介绍一下Qt中调用函数如何返回多个值。
一、案例描述
有一个函数,传进来一个数组arr和一个int整数,返回值是两个数组,第一个数组对原始数组每一个值+int整数,第二个数组对原始数组每一个值-int整数。【与上一篇文章:C语言调用函数如何返回多个变量值?函数描述相同】
二、函数介绍
function函数内容如下:
void MainWindow::function(QList<double> arr,QList<double>* arr1,QList<double>* arr2,int x)
{
for (int i=0;i<arr.size();++i) {
arr1->append(arr.at(i)+x);
arr2->append(arr.at(i)-x);
}
}
这里用到的是QList类型,关于Qt的相关数据类型这里不做过多介绍,有需要的可以自行查阅Qt相关资料。
由于在函数体内没有对arr重新定义,因此这里无需设置arr的指针;而由于函数体外要用到arr1和arr2,所以需要设置他们两个数组的指针。
主函数中程序如下:
QList<double> arr,arr1,arr2;
arr<<1<<2<<3<<4<<5;
int x=1;
function(arr,&arr1,&arr2,x);
qDebug()<<arr;
qDebug()<<arr1;
qDebug()<<arr2;
简单介绍一下这几条语句:
arr<<1<<2<<3<<4<<5;
对arr数组进行赋值操作,赋值后arr={1,2,3,4,5}
function(arr,&arr1,&arr2,x);
将arr,arr1和arr2的地址以及x输出function函数中进行运算。
最后利用qDebug()函数打印输出arr,arr1和arr2。
运行结果:
ok,以上便是全部内容了,完整代码可以参考:
Qt中调用函数如何返回多个值的Qt文件。
如果对你有所帮助,记得点个赞哟~