C++ 返回值得问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 13:35:07
如果我有两个函数都需要返回2个值,并且1个函数调用另一个函数怎么办?
比如说
f1(....){ f2(..){return a; return b;}return c; return d;};
我也知道这样写肯定错误,但是两个函数都要有2个返回值,怎么办?
a b c d 不是同一个类型,怎么设定数组或者指针? 结构也不好做,比如说 c 只是临时创建的一个数据类型,当函数结束以后就没了。但是 a b d 是全局变量)

1.定义一个结构,该结构包含两个你要返回的变量,函数返回结构体即可
(struct)
2.定义一个大小为2的数组,将两个返回值填进去,返回数组指针
3.传参数的时候,传指针,将返回值填写在指针指向的空间里,这样你在主调函 数就可以使用这两个值;
4.与3类似,但是不传指针,传两个变量的引用;
5.定义两个全局变量,在子函数里改写变量值;

全局变量就更好了,压根不用返回值,在子函数中的修改,结束子函数调用后,在主函数中直接调用这个值就好,这是已经修改过的。

那就返回一个数组

返回一个指针 或数组比较好
不能够同时返回 两个值
return c; return d; 这样只能返回c 而return d没有执行

函数定义两个指针参数,通过指针参数(就是输出参数)返回,或者你可以把两个参数定义到一个结构中,返回这个结构也可以。

两个返回值可以用结构体代替,不要有用两个返回值的这种想法,这样容易干扰你的编程思维,其实要实现和函数外的交流方法有很多,例如传引用之类的,都不一定要用返回值

把要返回的值放形参里,用指针或者引用传过去。