我可以从函数1 intiger和boolean返回两个值吗?我试图以这种方式做到这一点,但它不起作用。
int fun(int &x, int &c, bool &m){
if(x*c >20){
return x*c;
m= true;
}else{
return x+c;
m= false;
}
fun(x, c, m);
if(m) cout<<"returned true";
else cout<<"returned false";
}
答案 0 :(得分:3)
您可以创建一个包含两个值作为其成员的结构。然后,您可以返回该结构,并访问各个成员。
值得庆幸的是,C++
由pair
类为您完成此操作。要返回int
和bool
,您可以使用pair<int,bool>
。
答案 1 :(得分:2)
您可以返回包含某些值的struct
。
struct data {
int a; bool b;
};
struct data func(int val) {
struct data ret;
ret.a=val;
if (val > 0) ret.b=true;
else ret.b=false;
return ret;
}
int main() {
struct data result = func(3);
// use this data here
return 0;
}