一般而言,一个函数只返回一个值,但有时候可能需要函数同时返回多个值。解决办法一般有两种,一是定义一个新的数据类型,二是使用引用形参。
举个栗子,比如我们需要函数fun()返回商品的价格以及商品现存数量,
第一种方法:定义新的数据类型
struct Product{
double price;
int num_remain;
int num_total;
}
fun(int num_sell, Product &product){
product.num_remain=product.num_total-num_sell;
product.price = 20;
return product;
}
第二种方法:使用引用形参
fun(int num_sell, int num_total, int &num_remain){
double price = 20;
num_remain = num_total - num_sell;
return price;
}
int main(){
int num_remain=0;
double price=0;
price = fun(10, 30, num_remain);
cout<<price<<" "<<num_remain<<endl;
}